让我们考虑以下程序,它计算参数的无符号平方:
.global foo
.text
foo:
mov %rdi, %rax
mul %rdi
ret
这是正确编译的 as
,但反汇编
0000000000000000 <foo>:
0: 48 89 f8 mov %rdi,%rax
3: 48 f7 e7 mul %rdi
6: c3 retq
两者之间有什么区别吗? ret
和 retq
?