UNIVERSITY OF DELAWARE DEPARTMENT OF COMPUTER & INFORMATION SCIENCES CIS 260 Honors: Machine Organization and Microcomputers Semester: Spring 1992 Professor: Paul D. Amer (amer@cis.udel.edu) Hours: T, Th - 3:15-4:30 (and by appt.) Office: 101E Smith Hall Phone: 831-2712 Course Organization CIS 260 relays an understanding of the basics of machine organization. A machine is modeled as a hierarchy consisting of: the true hardware, the microprogramming level, the machine level, the operating system level, the assembly level and the higher language level. CIS 260 concentrates on the machine and assembly levels although some discussion of how all levels interact is included. CIS 360 emphasizes the true hardware and microprogramming level with some review of CIS 260. CIS 361 covers the operating system level. Prerequisite for this course is CIS 181. It is also recommended to have taken CIS 220 and M210. Students without these prerequisites must get special instructor permission to take the course. It is assumed that students are proficient with a well structured, high level language (e.g., C++, Pascal), and familiar with programming skills (modularity, documentation). On several occasions, simple Pascal examples will be used in this class. If you do not have any of this knowledge, you may not belong in this class at this time. This course covers the Motorola 68000 Assembly Language. The M68000 16-bit microprocessor is found in many well known computers (e.g., SUN-3, Macintosh) and hundreds of specialized devices. CIS 260 uses the Macintosh Assembly System (MAS) BasePak to teach M68000 Assembly on the Macintosh computer. Each student is expected to become at least proficient (i.e, more than familiar, less than expert) in M68000 Assembly Language Programming. After CIS 260, you should quickly and easily be able to become an M68000 expert or learn another machine's assembly language. Assignments and Grading Policy 1 Midterm 100 pts. (25%) 1 Final 100 pts. (25%) Homeworks 30 pts. (10%) Programs 170 pts. (40%) Total 400 pts. All programs must be written in M68000 on a Macintosh using MAS BasePak. Macintoshs are available throughout the UD campus; personally owned machines also may be used. All programs must be done independently. While discussion of ideas regarding an algorithm is permitted, code generation and documentation must be an individual's work. Assignments are due at the beginning of class on the announced due date. Do not miss class to finish an assignment. Unexcused late assignments will be penalized at most 10% per day including weekends, and will not be accepted more than two weeks late. Assignments are considered turned in when they are delivered, not when they execute on the machine. Late assignments are better than no assignments. Final grades are awarded on a curve based on total points. In the past, I have awarded the following percentage of grades. A range for each grade is indicated to allow for variation among classes and unusual circumstances. I expect, although do not promise, that honors students will do better than usual. A (10- 30%), B (20-50%), C (10-25%), D, F (0-??%). In addition to the curve, certain grade guarantees are defined. Earning more than 90%, 80%, 70%, 60% of the total points guarantees a minimum grade of A-, B-, C-, D-, respectively. In the past, grades have been influenced most by the 2 exams since the performance range on homeworks and programming assignments has been relatively smaller. Borderline cases are influenced most by class participation, class attendance, and the final exam. A philosophical note on grades. I do my best in measuring how much course material you demonstrate that you know. This is done through assignments and tests, perhaps not a perfect method, but the best I know of. In particular, I do not grade how much time and effort you put into the course. Required Items: MC68000 Assembly Language and Systems Programming by Ford and Topp Macintosh Assembly System BasePak by Ford and Topp Box of 10 3.5 inch Mac-compatible diskettes References 68000 Assembly Language Programming, 2nd ed. by Leventhal, et al. Programming the M68000, 2nd ed. by King and Knight 68000 Assembly Language by Krantz and Stanley Assembly Language Programming for the 68000 by Gill, et al. The 68000 Microprocessor: Hardware and Software Principles and Applications by Antonakos The 68000 Microprocessor Family, 2nd ed. by Miller 16/32-Bit Microprocessors: 68000/68010/68020 by Subbarao