文档说当调用汇编方法时,第一个参数应该在4(%esp)
。
如果是8(%esp)
的第二个参数呢?
我真的没有得到&nt汇编语法的gnus所以这个代码在intel语法中是什么?
4(%esp)
例如[esp + 4]
还是[esp * 4]
?
答案 0 :(得分:6)
4(%esp)
相当于[esp + 4]
,所以假设你的第一个参数是4个字节,那么你的第二个参数应该是8(%esp)
答案 1 :(得分:1)
取决于第一个参数的类型 - 不同的数据类型需要不同的空间量。如果传递的参数超过4个字节,则无法将其压缩到下一个参数超出第一个参数的4个字节大小的空间中。