3.5 算术和逻辑操作
其实除了第一个leadl, 这些指令都有带操作数的变种, 只是这里省略了, 例如add可以是addb, addw 和 addl.
3.5.1 加载有效地址
指令leal(load effective address)实际上是movl的变种, 但是有一个很明显的特征, 他实际并不真的引用存储器. 例如 leal 7(%edx, %edx, 4), %edx, 假设%edx里面的值是x, 那么这里的含义并不是以5x+7 为地址去取值然后存回%eax中, 而是单纯地把5x+7存在%eax中... 同时该指令的目的操作数(最右边的)必须是一个寄存器.
3.5.2 一元操作和二元操作
时间: 2024-10-15 16:12:50