Data sizes
mov
and registers. Restrictions on mov
.
Memory access.
Binary addition. Flags after add
and sub
.
Condition codes, mapping to flags.
cmp
, conditional jumps. Mapping if-else
and loops to assembly.
Function calling. Arguments, normal and floating-point.
Pipeline stalls. Hazards. Data dependencies.
Group exercise (if we have time)
Write a function is_sorted
which takes the address of a (qword, signed)
array in rdi
, array length in rsi
and returns 1 if the array is sorted in
ascending order, or 0 if it is not.