AMD 64 Information

Here are some useful links to AMD64 documentation:

Here are some commonly used addressing modes:

%rax                     == $r[0]   # similarly for other registers
%eax                     == least significant 32 bits of %rax
                            (presence may signal a 32-bit operation)
disp(base, index, scale) == $m[base + index * scale + disp]
disp(base)               == $m[base + disp]
label(,index,scale)      == $m[label + index * scale]
symbol(%rip)             == relative reference to symbol in memory

Opcode suffixes are used to indicate the size of a memory operation. They are:

byteb8 bits
wordw16 bits
long, doublel,d32 bits
quadwordq64 bits

Back to COMP 40 home page