我正在创建调用C函数的代码,该函数获取整数的平方根。 C函数是外部函数,位于我的文件夹中。调用它时,我不知道如何给它提供一个参数,因此它知道要计算的内容
我正在使用NASM Intel x86_64,Assembler是gcc,我不知道当前版本。我正在使用Linux
当前我的代码是:
xor rsi, rsi ;just clears rsi
mov rsi, r15 ;r15 held the value that is supposed to be the parameter
call square
由于它没有采用正确的值,它目前仅打印出0。
如何获取参数?
谢谢。
根据the System V AMD64 ABI calling convention,第一个参数应该在rdi
寄存器中。
您需要将值复制到rdi
而不是rsi
。