CS314: Computer Organization / Assembly Language


Syllabus

Schedule

Assignments

Notes
Demos

Instructor schedule

Tutoring schedule (in the upstairs CS lab)

Related links:

Chip implementation portion of course:

http://nand2tetris.org/ Click Software link on left nav.

 

Running on PCW machines:

 

Follow instructions to Download to nand2Tetris to your local system.

Unzip it to a convenient location.

 

Browse to nand2tetris/tools' directory

On a windows machine, double click HardwareSimulator.bat

 

It should run fine as long as you have a Java JRE installed

 

Assembly Language portion of course:

HLA Home page: http://www.plantation-productions.com/Webster/ 

 

Course Text:

The Art of Assembly Language Programming
Author:  Randall Hyde (Univ. California, Riverside)

 

Windows 32 Art of Assembly class copy.

 

You may download this pdf version of the text from http://www.plantation-productions.com/Webster/www.artofasm.com/Windows/index.html.  Note there is an html version of the text, but it does not have end of volume exercises.

 

A very short article on x86 register usage.

  

The following reference manuals for HLA are available for download from this page as well.  I have also made them available on this site:

HLA Language Reference Manual

HLA Standard Library Reference Manual

 

EDB debugger helps

 

Environment

The class will use 32-bit assembler – it is much easier to use than 64-bit.  We will use virtualBox to standardize the environment.

 

Here are the steps I went through to install virtual box on my system.

1.     Install virtual box

 

The computers in the lab have virtual box installed, and Joel Ferrier has prepared a beautiful Ubuntu linux virtual machine disk image containing the software we need. 

 

Instructions for using the prepared VM disk image on either the school machines or your own computer (assuming virtual box is already installed).