4
我正在學習ASM,我遇到了一個小問題。 我無法在「section.data」中「聲明」多個字符串。 我想是這樣的:OSX 64位上的NASM問題
section .data
string1 db "test1 ", 0;
string2 db "test2 ", 0;
section .text
global _test
extern _puts
_test:
lea rdi, [rel string1]
call _puts
lea rdi, [rel string2]
call _puts
ret
這個功能應該打印在標準輸出「測試1測試2」,但它不工作。 結果是:
test2
它僅適用於存儲在最後一個字符串!如果有人知道爲什麼,請告訴我!
讓我猜... Nasm-2.11.08?它具有'-f macho64'的錯誤。回到2.11.06。 2.11.09應該很快就會解決,如果一切順利的話。這些事情發生... :( –
該死的,謝謝你... –
@FrankKotler - 這是神祕的知識。(擴大?)的答案可能有助於其他人。 –