CS 2430 Computer Organization and Assembly Language Programming (4) 2005

Catalog Description:

Functional organization of digital computers and programming in machine and assembly language. Internal representation of data, binary arithmetic, machine instructions, addressing modes, subroutine linkage, macros. Introduction to assemblers, linkers, and loaders. Prerequisite: An introductory programming course.

Course outline

overview of assembly language programming number systems and number representations introduction to computer organization (CPU, ALU, registers. memory, bus system, instruction execution cycle) assembly language instructions, the assembly process allocation of central memory for data debugging addressing modes arrays further discussion of instructions (shift/rotate, etc.) character data and strings input/output stacks subroutines and argument passing representation of floating point numbers multiple precision

Requirements and suggestions for the course:

  • Assign programs early and often during the course. A fundamental objective of the course is proficiency in using assembly language.
  • Problem solving and algorithm design should be covered in the context of assembly language programming.
  • Cover logic and boolean algebra as necessary.
  • Students should come out of this course with a good understanding of the basic technology and logic that underlies the organization of a computer.

Texts:

  • Yu and Marut, Assembly Language Programming and Organization of the IBM PC
  • Giles, Assembly Language Programming for the Intel 80XXX Family
  • Irvine, Kip, Assembly Language for Intel Based Computers, Prentice Hall