Cプログラムでアセンブリ関数に渡された引数の一部を修正しようとしました。 私はすでにx86アセンブリで試してみましたが、x64ではそれ以上は動作しません。引数がC関数に渡されインテルx64アセンブリ関数がCプログラムから呼び出されました参照で渡された引数を変更する方法
section .text
global f
f:
push rbp
mov rbp, rsp
;[rbp+8] bitmap beginning address (unsigned*) ?
;[rbp+12] bitmap width (int*) ?
;[rbp+16] bitmap height (int*) ?
;[rbp+20] current X pos (double*) ?
;[rbp+24] current Y pos (double*) ?
mov rax, [rbp+12]
mov rcx, [rax]
inc rcx
mov [rax], rcx
mov rsp, rbp
pop rbp
ret
x86_64版が – technosaurus
x86-64では、レジスタを使用してのx86とは異なる呼び出し規約を持って見ることができます。呼び出し規約については、[64ビットSystem V ABI](http://www.x86-64.org/documentation/abi.pdf)を参照する必要があります。 –
さて、これらのオフセットは私にとっては「64ビット」には見えません:( –