x86/x64のメモリレイアウト
スタックは低位に向かって伸びる
x86の関数呼び出し規約
後ろの引数から順にstackにpushされる。
x64の関数呼び出し規約
引数
第1引数
第2引数
第3引数
第4引数
第5引数
第6引数
レジスタ
rdi
rsi
rdx
rcx
r8
r9
以降の引数はstackに積まれる。
x86の汎用レジスタ
EAX
AX: 下位16bit
AH: 上位8bit
AL: 下位8bit
ECX
CX: 下位16bit
CH: 上位8bit
CL: 下位8bit
EDX
DX: 下位16bit
DH: 上位8bit
DL: 下位8bit
EBX
BX: 下位16bit
BH: 上位8bit
BL: 下位8bit
ESI
EDI
glibc malloc (heap, ヒープ)
小崎動画
小崎せんせーの2013年の動画が入門に良い。