University of Washington
Machine Programming II: C to assembly
Move instructions, registers, and operands Complete addressing mode, address computation (leal) Arithmetic operations (including some x86‐64 instructions) Condition codes Control, unconditional and conditional branches While loops
1 09 April 2012 Machine Programming
University of Washington
Three Kinds of Instructions
Perform arithmetic function on register or memory data
c = a + b;
Transfer data between memory and register
Load data from memory into register
%reg = Mem[address]
Store register data into memory
Mem[address] = %reg
Transfer control (control flow)
Unconditional jumps to/from procedures Conditional branches
2 09 April 2012 Machine Programming