68000 DC.W(定义常数)

时间:2012-04-29 18:44:25

标签: assembly motorola 68000

我有这行代码:

X   DC.W    5   

这基本上意味着X = 5但不应该是X DC.W #5

使用MOVE时,我总是需要#

MOVE.B  #1,VAR

2 个答案:

答案 0 :(得分:7)

#1表示立即值,即值1.如果没有#,则表示内存位置1的内容。

使用DC。*将值(我猜你可以称之为“立即”值)放入由X指定的内存位置。它不是处理器指令,而是汇编程序保留内存并用指定填充它的指令值(S)。

答案 1 :(得分:1)

通常dc。(b / w / l)用于将硬编码数据放入ROM中的表中。例如。如果你想创建一个包含四个字节的表,它将如下所示:

一个人会工作:

  • dc.b 4,2,$ 10,$ 1A

OR

  • dc.b 4
  • dc.b 2
  • dc.b $ 10
  • dc.b $ 1A

它们的意思相同,因为它们声明了4个字节的数据。现在,使用MOVE有点不同,因为它将数据移动到数据寄存器或RAM中的位置。这些数据可以来自...比如我们在上面创建的表格,数据寄存器,或者以这个#'开头的简单数字值,如下所示:

  • move.b#$ 11,($ FFFFFE00).w

这将值$ 11移动到我指定的RAM地址。希望能解决这个问题。