LEA是执行有符号还是无符号算术?

krb*_*686 2 x86 assembly

我试图了解这条线的工作原理:

lea (%eax, %eax, 4), %eax
Run Code Online (Sandbox Code Playgroud)

所以看起来这基本上说:

%eax = 5* %eax
Run Code Online (Sandbox Code Playgroud)

但LEA是签名还是未签名?

Mar*_*nau 8

  1. LEA 实际上并不打算进行算术运算,而是计算内存操作的绝对地址.

  2. 签名和未签名操作之间没有区别; 在这种情况下,签名操作和无符号操作的结果是相同的.

  3. 据我所知,使用该LEA指令不可能将寄存器与负常数相乘

  • 为了扩展#1,我不知道任何使用负内存地址的架构...... :-) (3认同)