CISC 260  -   Machine Organization and Assembly Language  -  Spring 2013

M/W/F 1:25 pm-2:15 pm, 101 Recitation Hall


Instructor: Daniel Chester  TA: Fanchao Meng 
Office: 101G Smith Hall  Office: 103 Smith Hall 
Hours: M/F 3:15 pm-4:15 pm and by appt.  Hours: Th 2:30 pm-4:30 pm 
Phone: 831-1955  Phone: 831-3132 
Email: User: chester Domain: cis.udel.edu Email: User: fcmeng Domain: udel.edu

Textbook

Computer Organization and Design, fourth edition, Revised Printing (yellow cover), by David A. Patterson and John L. Hennessy, Morgan Kaufmann, 2009.

Software

QtSPIM. This can be downloaded from
http://sourceforge.net/projects/spimsimulator/files/

Course Description

This course covers the basics of machine organization and how computers are designed to follow specific instructions. It covers the programming tools and techniques that are used at the lowest level of programming. Techniques for programming in assembly language and for doing arithmetic on the computer are also covered. The material in this course will prepare you for future courses in which you will study more advanced computer architectures, the operating systems that provide essential services to users, the higher level programming languages and their compilers that make more advanced programming easier, and issues relating to performance and security.

Course Objectives

By the end of the semester, a student should be able to

Prerequisites

A C- or better in CISC 181.

Class home page

http://www.cis.udel.edu/~chester/courses/260.html

Topics (tentative, not necessarily in the order to be covered)

Grading

plus four percent for doing the online course evaluation http://www.udel.edu/course-evals/ at the end of the semester.

The numerical scores will be combined, not the letter grades. Since the assignments and exams are not standardized, your course grade will depend not only on the weighted score you receive, but also on how your score compares with the score distribution for the whole class.

Policies



Homework assignments and example programs

Assignment 1 due Monday, February 18, 2013
Assignment 2 due Monday, February 25, 2013
sample.s trivial example of a MIPS program
Assignment 3 due Monday, March 4, 2013
test2.s demo of masking and multplying by 13 (without using the multiplication instruction)
Assignment 4 due Monday, March 11, 2013
test4.s Demo of simple jump table and I/O
testx.s trivial example of array access
A protocol for calling procedures
Assignment 5 due Monday, March 18, 2013
strcpydemo.s Demo of STRCPY. STRCPY is almost the same as in the book.
sum3itr.s Sum of cubes of integers from m to n, done iteratively.
sum3rec.s Sum of cubes of integers from m to n, done recursively.
Assignment 6 due Monday, April 1, 2013
isort.c Insertion sort written in C.
isort.s Insertion sort written in MIPS.
isort2.s Insertion sort using pointers instead of array references
llisort.s Insertion sort using linked lists
review1.txt List of topics we covered before midterm.
Assignment 7 due Monday, April 15, 2013
Assignment 8 due Monday, April 22, 2013
test8.s Demo of scalar multiplication subroutine.
Assignment 9 due Monday, April 29, 2013
Assignment 10 due Monday, May 6, 2013
review2.txt List of topics we covered after midterm.

May 13, 2013