我有这行代码:
X DC.W 5
这基本上意味着X = 5
但不应该是X DC.W #5
?
使用MOVE时,我总是需要#
MOVE.B #1,VAR
答案 0 :(得分:7)
#1
表示立即值,即值1.如果没有#,则表示内存位置1的内容。
使用DC。*将值(我猜你可以称之为“立即”值)放入由X指定的内存位置。它不是处理器指令,而是汇编程序保留内存并用指定填充它的指令值(S)。
答案 1 :(得分:1)
通常dc。(b / w / l)用于将硬编码数据放入ROM中的表中。例如。如果你想创建一个包含四个字节的表,它将如下所示:
一个人会工作:
OR
它们的意思相同,因为它们声明了4个字节的数据。现在,使用MOVE有点不同,因为它将数据移动到数据寄存器或RAM中的位置。这些数据可以来自...比如我们在上面创建的表格,数据寄存器,或者以这个#'开头的简单数字值,如下所示:
这将值$ 11移动到我指定的RAM地址。希望能解决这个问题。