寻址方式
寄存器寻址(register mode)
movl %ebx %eax eax = ebx
// %符号表示该寄存器所存储的值
立即数寻址(immediate)
movl $0x1024 %eax eax = 0x1024
// $符号表示该数值的字面意思
直接寻址(direct)
movl 0x1024 %eax eax = *(int32_t*)0x1024
// 纯数值表示以这个数为内存地址的内容
间接寻址(indirect)
movl (%ebx) %eax eax = *(int32_t*)ebx
// ()符号表示以该寄存器存储的数值为内存地址的内容
变址寻址(displace)
movl 4(%ebx) %eax eax = *(int32_t*)(ebx + 4)
注意: 指令后缀b、w、l、q分别表示该指令为8/16/32/64位