これは私のコードです(test.asm)
予想される「num=1337」
出力: "num = 4199373"
質問:どうすれば修正できますか。
意図:割り当てではなく、アセンブリ言語に対する好奇心。
; nasm -fwin32 test.asm
; gcc test.obj -o test
extern _printf
global _main
section .text
_main:
push num
push msg
call _printf
add esp, 8
ret
msg db 'num = %i', 0xa, 0
num dd 1337
push num
それをpush dword [num]
修正するために変更します。