x64アセンブリを学習しているときに、2つの整数を追加し、アセンブリを使用して整数を返すaddメソッドを作成しようとしています。x86で動作するコードがあり、x64に変換しようとしました
レジスタの名前をx64の名前に変更し、オブジェクトファイルをエラーなしで生成しましたが、C関数内で使用すると、常にsum=0になります。
引数の場所に問題があると思いますが、そのような問題に関する適切なドキュメントは見つかりませんでした。
section .text
global addi
addi:
push rbp
mov rbp, rsp
mov rax,[rbp+12]
mov rdx,[rbp+8]
add rax, rdx
pop rbp
ret