MOVE指令,汇编语言,诺基亚68000微处理器

时间:2016-07-13 20:15:51

标签: assembly 68000

我正在研究68k微处理器的MOVE指令。我的教科书里有这个问题:

  

如果[D0.L] = $ AAAABBBB,[$ 024020] = $ FF,[$ 024021] = $ EE,[$ 024022] = $ DD,[$ 024023] = $ CC,D0.L之后的内容是什么执行以下每条指令? (a)MOVE.B $ 024021,D​​0(b)移动$ 024022,D0(c)MOVE.L $ 024020,D0

我理解在(a)部分答案是[D0.L] = $ AAAABBEE,因为我只将$ 024021的内容移动到D0.L的最低位。

我也明白在(c)部分答案是D0.L = $ FFEEDDCC,因为它会复制$ 024020- $ 024023的内容。

但我不理解(b)部分。我想老师说答案是D0.L = $ AAAABBCC,但也许我听错了。

另外,我写了一个代码来检查我的结果:

           ORG         $24000       ; Go to address 24000
           MOVE.L      #$AAAABBBB,D0; 
           MOVE.B      #$FF,$24020;
           MOVE.B      #$EE,$24021;
           MOVE.B      #$DD,$24022;           
           MOVE.B      #$CC,$24023;
           MOVE.B      $24021,D0 ;     
           MOVE        $24022,D0 ;     
FINISH     JMP         FINISH    ;

然而,$ 24023的内容总是#$ EE,即使在我的程序中它说它应该是#$ CC。

0 个答案:

没有答案