Section C.4 M1: Introduction to Machine Code Programming
Basic, very high-level understanding of computer architecture.
MIPS processor, registers, program counter, memory, bus, rest of the system
What is an instruction, how does it look like?
Different kinds of instructions (arithmetic, load/store, control).
Discuss kinds of instructions by means of the simple factorial function code.
Introduce the assembler, relieves us from coding instructions manually, provides labels for addresses, pseudo instructions, has directives. Introduce separate translation with translation units (will be the same in C and Java and many other compiled languages).
Execution traces. Execute programs on paper to deepen understanding of program execution.