与dc.b和String的Gnu汇编(GAS)错误

时间:2015-01-02 10:45:21

标签: assembly constants gnu

我正面临着这项天然气业务的新问题:

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

我无法弄清楚为什么会出现......

1 个答案:

答案 0 :(得分:0)

  

如果我试试这个:

.ascii  "MESSAGE",0xFF
  

我得到以下结果:

     

错误:忽略其余行。第一个被忽略的字符是'0'。

请改为:

.ascii "MESSAGE"
dc.b 0xFF

0xFF是一种不寻常的字符串终止符。如果您使用更标准的以零结尾的字符串,则可以使用.asciz指令为您添加终结符:

.asciz "MESSAGE"

要获取字符串的地址,只需在其前面放置一个标签:

foo: .asciz "MESSAGE"

然后你可以这样做:

move.l      #foo,a0
相关问题