レジスタに整数があるとします。これをどのように印刷すればよいでしょうか? 簡単なサンプルコードを示してもらえますか?
「hello, world」のような文字列を印刷する方法はすでに知っています。
私はLinuxで開発しています。
ベストアンサー1
すでにLinuxを使っている場合は、自分で変換する必要はありません。プリントその代わり:
;
; assemble and link with:
; nasm -f elf printf-test.asm && gcc -m32 -o printf-test printf-test.o
;
section .text
global main
extern printf
main:
mov eax, 0xDEADBEEF
push eax
push message
call printf
add esp, 8
ret
message db "Register = %08X", 10, 0
はprintf
、cdecl 呼び出し規約そのため、後でスタック ポインターを復元する必要があります。つまり、関数に渡されるパラメーターごとに 4 バイトを追加します。