Assembly 为什么这个寄存器是助记符?
对于System V调用约定中的寄存器顺序,它们建议使用助记符:Assembly 为什么这个寄存器是助记符?,assembly,x86-64,cpu-registers,calling-convention,abi,Assembly,X86 64,Cpu Registers,Calling Convention,Abi,对于System V调用约定中的寄存器顺序,它们建议使用助记符: %rdi: Diane's %rsi: Silk %rdx: dress %rcx: costs <------------ ??? %r8: $8 %r9: 9 %rdi:Diane的 %丝 %rdx:连衣裙 %rcx:第一个链接是常规函数的调用约定,第二个链接是系统调用的约定。syscall约定不能相同,因为syscall指令将调用地址隐式存储在rcx@NateEldredge中,谢谢。因此
%rdi: Diane's
%rsi: Silk
%rdx: dress
%rcx: costs <------------ ???
%r8: $8
%r9: 9
%rdi:Diane的
%丝
%rdx:连衣裙
%rcx:第一个链接是常规函数的调用约定,第二个链接是系统调用的约定。syscall约定不能相同,因为syscall
指令将调用地址隐式存储在rcx
@NateEldredge中,谢谢。因此,当我在汇编中编写内部函数时,我应该使用rcx
(而不是r10
)作为第四个参数?是的,这是正确的。