
| Syllabus | Essential Handouts | Sample Code | Homework Assignments |
Although humans find it easier to write programs in a high-level
programming language such as C++ or Java, computer hardware only
understands instructions written in machine language. A
machine language instruction is a sequence of binary bits that
tell the computer what operation to perform and on what data.
Assembly language uses pneumonic codes for the operations and
symbols for the locations of the data, but the correspondence
between assembly language instructions and machine language
instructions is
generally one-to-one. It is essential that computer professionals
understand the low-level operation of a computer and how high-level
programming constructs are represented in machine language and
executed by the hardware.
This course will study the basic concepts of computer organization,
with an emphasis on data representation, assembly language programming,
the relation between assembly language and machine language,
assemblers, and the issues that affect their design.
Students will write programs in MIPS, an assembly language that
exemplifies RISC architectures.