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 - 这是神秘的知识。(扩大?)的答案可能有助于其他人。 –