0
我試圖建立一個非常小的編譯器等,NASM大會打印錯誤
print "Hello world"
成爲
SECTION .data
DAT0:
db "Hello world"
SECTION .text
global _main
extern _printf
_main:
push DAT0
call _printf
add esp, 4
ret 0
當組裝時&鏈接打印正確世界,你好。 現在,當我有兩個打印語句,
print "Hello world"
print "Hey!"
它產生:
SECTION .data
DAT0:
db "Hello world"
DAT1:
db "Hey!"
SECTION .text
global _main
extern _printf
_main:
push DAT0
call _printf
add esp, 4
push DAT1
call _printf
add esp, 4
ret 0
這將打印你好worldHey嘿!
我的問題是爲什麼是文字嘿!正在打印兩次。我究竟在做什麼 錯?如果它很重要,我使用NASM和MinGW(在Windows上)編譯此代碼