1 2

308-273A Principles of Assembly Languages

Recent news and updates are listed below


This course presents the fundamental concepts of assembler language programming and introduces computer archtecture. The C programming language is also used and serves as a vehicle to illustrate the relationship between high-level languages and the machine code that they lead to. A detailed list of specific topics is given below. Familiarity with a programming language, preferably Pascal or C, is assumed.

General Information

Instructor: Professor G. Dudek,
School of Computer Science.

Office hours:  Tues, Thurs at 2:45 - 3:45 419 McConnell Building; 
                meetings at other times by appointment.
Telephone: 398-4325.

Class email account: cs273@cs.mcgill.ca
Class web page: http://www.cs.mcgill.ca/~dudek/273.html
Frequently asked questions and assignment tips: FAQ

TA information

Teaching Assistants :
Ioannis Relkeitis (Yiannis) (yiannis@cs.mcgill.ca)
Office hours: M/W 13:30-14:30 at 426 McConnell Eng. bldg.
Eric Bourque
Office hours: T/Th 10:30-11:30 in MC436


308-202 or 308-250


  1. A. Clements, "68000 Family Assembly Language", PWS Press, 1993.
  1. B.W. Kernighan and D.M. Ritchie, "The C Programming Language", Prentice Hall Inc., Englewood Cliffs, 1989.

Additional reference texts

  1. W.Ford and W. Topp, "The MC 68000 Assembly Language and Systems Programming", D.C. Heath and Company, Toronto, Second Edition, 1992. This was the text last year and provides essentially complete coverage of the course content but with a different, and in my opinion less coherent, sequencing and emphasis.
  1. L. L. Wear, T. R. Pinkert, et. al., "Computers: An Introduction to Hardware and Soft- ware Design", McGraw-Hill, 1991. This text goes into more detail on certain hardware-specific issues.
  1. A.S. Tanenbaum, \Structured Computer Organization", Prentice Hall Inc., Englewood Cliffs, 1990 (3rd Edition)


Assignments: 25%
Quiz : 5%
Mid-term Examination : 20% (Oct. 14th)
Final Examination : 50%


Assignments involve programming in C and MC68020 Assembly Language on Sun-3 Machines using UNIX. Some, but not all, assignments may be accomplished on other machines such as a home computer. Note that the text by Clements includes a 68000 simulator that can be used on a DOS-compatible machine or a Mac running SoftPC. Mac users can also use native environments, such as CodeWarrior (available at the computer store) for some, but not all their, programming work.

The simulator, however, is not sufficient to allow students to complete their assignment!

An introduction to C will not be offered as part of the course. A brief review will take place, but students must be able to use C based on prior knowledge or out-of-class practice. Students in need of a C refresher should consider taking 308-206 (programming techniques) which starts on Sept. 16th.

Recent news Important news

Next page