>我在这次 Gas 操作中遇到了新问题:
dc.b "MESSAGE"
这给了我一个错误的表达式错误:
Error: Rest of line ignored. First ignored character is `M'.
我尝试了许多逃跑和任何技巧,但没有运气。
通常我以这种方式使用字符串:
.ascii "MESSAGE"
但这不能用于将地址分配为:
dc.b #0,d1
因为如果我尝试这个:
.ascii "MESSAGE",0xFF
我得到以下结果:
Error: Rest of line ignored. First ignored character is `0'.
所以不能替换DC语句。
谢谢!
编辑:我忘了在第0行提到此错误:
myasmfile.s:0: Warning: end of file in comment; newline inserted
我也想不通为什么会出现这种情况...
如果我尝试这个:
.ascii "MESSAGE",0xFF
我得到以下结果:
错误:忽略行的其余部分。第一个忽略的字符是"0"。
请改为执行以下操作:
.ascii "MESSAGE"
dc.b 0xFF
不过,0xFF
是一种不寻常的字符串终止符。如果使用更标准的以零结尾的字符串,则可以使用 .asciz
指令,该指令将为您添加终止符:
.asciz "MESSAGE"
要获取字符串的地址,只需在其前面放置一个标签:
foo: .asciz "MESSAGE"
然后你可以做:
move.l #foo,a0