汇编中的减法顺序
Subtraction order in assembly
所以我有。
pushl %ebp
movl %esp, %ebp
movswl 12(%ebp), %edx
movl 8(%ebp), %eax
subl %edx, %eax
popl %ebp
ret
如果说我的函数调用 2 个变量:function(int a, short b)
.
当我调用减法时,它是(b - a)
还是(a - b)
。 eax 是存储值的地方,如果我是正确的,所以我想说它将是 (a - b)
.
movl 8(%ebp), %eax
将您的 int a 放入 %EAX 寄存器中。
movswl 12(%ebp), %edx
将您的 short b 放入 %EDX 寄存器。
因为 subl %edx, %eax
从 %EAX 中减去 %EDX 你得到 (a - b)
所以我有。
pushl %ebp
movl %esp, %ebp
movswl 12(%ebp), %edx
movl 8(%ebp), %eax
subl %edx, %eax
popl %ebp
ret
如果说我的函数调用 2 个变量:function(int a, short b)
.
当我调用减法时,它是(b - a)
还是(a - b)
。 eax 是存储值的地方,如果我是正确的,所以我想说它将是 (a - b)
.
movl 8(%ebp), %eax
将您的 int a 放入 %EAX 寄存器中。
movswl 12(%ebp), %edx
将您的 short b 放入 %EDX 寄存器。
因为 subl %edx, %eax
从 %EAX 中减去 %EDX 你得到 (a - b)