COE 205 --- 041

Computer Organization & Assembly Language

Catalog Description

Introduction to computer organization. Octal and Hexadecimal number systems, ASCII codes. Assembly language programming, instruction format and types, memory and I/O instructions, arithmetic instructions, addressing modes, stack operations, and interrupts. ALU and control unit design. RTL, microprogramming, and hardwired control. Practice of assembly language programming.

      Prerequisite: COE 200 and ICS 201

Course URL   http://assembly.pc.ccse.kfupm.edu.sa 

printable version of the online material

Text Books & References:    

        Introduction to Assembly Language Programming: From 8086 to Pentium Processors, Sivarama P. Dandamudi, et al., Springer Verlag, 1998. (ISBN: 0387985301).

        Assembly Language Programming and Organization of the IBM PC, Ytha Yu and Charles Marut, McGraw Hill, 1992. (ISBN: 0-07-072692-2).

        Computer Systems Design and Architecture, Vincent Heuring, Harry F. Jordan, Miles Murdocca, Addison Wesley 1997. (ISBN 0-8053-4330-X).

Grading Policy                     

Laboratory 20%
Programming Assignments 10%
Quizzes 10%
Exam I  (24/10/2004) 15%
Exam II (08/12/2004) 20%
Final 25%

                     

                                                

Introduction and Information Representation.

Introduction to computer organization. Instruction Set Architecture.  Computer Components. Fetch-Execute cycle. Signed number representation ranges. Overflow.

6 lectures

Assembly Language Concepts. 

Assembly language format. Directives vs. instructions. Constants and variables. I/O. INT 21H. Addressing modes.

6 lectures

8086 Assembly Language Programming.

Register set. Memory segmentation. MOV instructions. Arithmetic instructions and flags (ADD, ADC, SUB, SBB, INC, DEC, MUL, IMUL, DIV, IDIV). Compare, Jump and loop (CMP, JMP, Cond. jumps, LOOP). Logic, shift and rotate. Stack operations. Subprograms. Macros.  I/O (IN, OUT). String instructions . Interrupts and interrupt processing, INT and IRET.

 17 lectures

Memory System Design.

Main memory, SRAM, DRAM. External memory, magnetic and optical disks. Bus system.

  4 lectures

CPU Design.

Register transfer. Data-path design. 1-bus, 2-bus and 3-bus CPU organization. Fetch and execute phases of instruction processing. Performance consideration. Control steps. CPU-Memory interface circuit. Hardwired control unit design. Microprogramming. Horizontal and Vertical microprogramming. Microprogrammed control unit design.

12 lectures