CS 200 - Winter 2003

Computer Organization and Assembly Language


  Course Description

This course introduces high-level hardware (computer architecture) and low-level software (systems and I/O programming). The focus of this class is Computer Organization. Assembly language will be used extensively, but as a tool, rather than the main object of study. We shall focus on how a modern computer system is organized by studying its key modules, how they interact, what favors fast execution, and what constitutes performance bottlenecks. We address HW design considerations where they help us understand the logical functions. This course is a cornerstone of our department's curriculum in the Computer Sciences.



  Course Handouts

Handout 1, Course Outline
Handout 2, Integer Number Systems
Handout 3, Simple Asm Program
Handout 4, PutDec Help
Handout 5, Build Binary Tree in C
Handout 6, Bit String Manipulation
Handout 7, Reference Parameter, Pointer
Homework 1
Homework 2
Homework 3
Homework 4
Homework 5
Quiz 2
Midterm
Final
x86 Assembler Intro
x86 Call Return Mechanism
x86 Decoding
Simple x86 IO
Loop Instruction in x86
x86 Memory Access
Multiple Assembly Units


  A few helpful pointers to x86-related documents on the Web:

Assembly Language

 

 Randy Hyde's "The Art of Assembly Language Programming"

IA32 Manuals

 

 Intel's IA32 Architecture manuals, (Pentium4 versions)




This page created by Herb Mayer
Last updated: