EEC70: Assembly Language and Computer Organization

Prof. Vojin G. Oklobdzija
Electrical and Computer Engineering Department
University of California

Content of the Course:

This course teaches assembly language through and example of a hypothetical machine DLX. However it is impossible to understand assembly language, the language closest to the machine instruction set, without at least basic knowledge of computer organization and architecture. Therefore, in order to start with assembly language one needs to learn and understand how the machine works and operates. Thus, this course is really a first course in series of courses that are teaching computer architecture and organization.

In order to get up to speed I urge you to read the two short articles found on your web page under Class Notes.

The  lectures will start explaining basic principles of computer organization  and how is data stored in memory. Once this is understood we will be able to understand instructions defined by the DLX architecture. We will be using them to write assembly language programs that will be performing certain tasks and operations. Once this is mastered the student should be able to learn any other more complex assembly languages such as MIPS (which is very similar to DLX) or any other machine specific language.

The course will cover the following topics: Basics of Computer Organization and Architecture, Number Representation, Data Representation, Characters, Arithmetic and Logical Operations, Memory Organization, Address Calculation,  The Assembly Process: Language, Code Generation, Program Relocation Interrupt and Exception Handling, Performance Issues, RISC, CISC Architecture


  1. P. M. Sailer, D. R. Kaeli, "The DLX Instruction Set Architecture Handbook", Morgan Kaufmann Publishers, 1996.
  2. W. Stallings, "Computer Organization and Architecture", Macmillan Publishing, 1993.

Supplemental Textbook:

  1. D. Patterson, J. Hennesssy, "Computer Organization and Design: The Hardware / Software Interface", Morgan Kaufmann Publishers, 1994.    (this textbook will be used for your EEC170 class)
  2. "A Programmer's View of Computer Architecture : With Assembly Language Examples from the MIPS  RISC Architecture", by J. Goodman, K. Miller. This book however does not explain computer organization.

Supplemental Readings:

  1. V. G. Oklobdzija, "Computers", class notes.
  2. V. G. Oklobdzija, "Computer Organization: Architecture" class notes.  


            Midterm:                                     20%

                 Final Exam                                 40%

                 Assignments                               20%

                 Extra Points and Quizzes            20%