symbolic notation for machine language, improves readability two syntaxes — Intel and AT&T
First four arguments: %rax, %rdi, %rsi, %rdx
When you write a subroutine, push the base pointer. Then set the base pointer to the stack pointer.
At the end of the subroutine, set the stack pointer to the base pointer. Then pop the base pointer. Then ret.
Syscall 60 is exit, 1 is write, 0 is read. 1 is stdout, 0 is stdin, 2 is stderr.
Registers store addresses. Parentheses are used to access value at address.