装配中的减法顺序

tem*_*234 1 x86 assembly calling-convention att

所以我有.

pushl %ebp
movl %esp, %ebp
movswl 12(%ebp), %edx
movl 8(%ebp), %eax
subl %edx, %eax
popl %ebp
ret
Run Code Online (Sandbox Code Playgroud)

如果说我的函数调用2个变量:function(int a, short b).

当我打电话给减法时,它会是(b - a)或者(a - b).如果我是正确的话,eax就是值存储的地方,所以我想说它会是(a - b).

Sep*_*and 7

movl 8(%ebp), %eax将你的int带入%EAX寄存器.

movswl 12(%ebp), %edx将您的短B带入%EDX寄存器.

由于subl %edx, %eax你从%EAX中减去了%EDX (a - b)