寄存器寻址
不涉及内存,将寄存器 eax 中的内容放到寄存器 edx 中:
movl %eax, %edx
立即寻址
不涉及内存,将立即数放到 edx 寄存器中:
movl $0x123, %edx
直接寻址
直接给内存的地址,将 0x123 内存地址指向的内存里存储的数据放到 edx 寄存器中:
movl 0x123, %edx
间接寻址
寄存器加小括号,ebx 寄存器中存的值是一块内存的地址,叫小括号表示这个内存地址存储的数据,把这个数据放到edx寄存器中:
move (%ebx), %edx
变址寻址
在间接寻址的基础上,在原地址上再加一个4:
movl 4(%ebx), %edx
直接对内存操作的指令
push/pop
, pushl/popl
,call/ret
都是可以直接对内存操作的指令
网友评论