所以我有。
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)
。
答案 0 :(得分:7)
movl 8(%ebp), %eax
将您的 int a 带入%EAX注册表中。
movswl 12(%ebp), %edx
将您的短b 带入%EDX注册。
由于subl %edx, %eax
从%EAX中减去%EDX,您获得(a - b)