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.