Assembly 移动指令、汇编语言、诺基亚68000微处理器

Assembly 移动指令、汇编语言、诺基亚68000微处理器,assembly,68000,Assembly,68000,我正在研究68k微处理器的移动指令。我的课本上有一个问题: 如果[D0.L]=$AAAABBBB,[$024020]=$FF,[$024021]=$EE,[$024022]=$DD,[$024023]=$CC,执行以下每个指令后,D0.L的内容是什么?(a) 移动.B$024021,D0(B)移动$024022,D0(c)移动.L$024020,D0 我知道在第(a)部分中,答案是[D0.L]=$AAAABBEE,因为我只是将$024021的内容移动到D0.L的最低位 我还了解到,在第(c)部分

我正在研究68k微处理器的移动指令。我的课本上有一个问题:

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

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

我还了解到,在第(c)部分中,答案是D0.L=$ffeedcc,因为它将复制$024020-$024023的内容

但我不明白第(二)部分。我想老师说答案是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。

确保代码和数据不重叠<代码>组织$24000在
$24020
附近,非常危险。。。我相信正确的答案是
$AAAADDCC
@Jester谢谢!是的,我的代码的问题似乎是第一行(代码和数据重叠)。现在程序说答案是,
$AAAADDCC
,就像你说的,这似乎是正确的答案。再次感谢!确保代码和数据不重叠<代码>组织$24000在
$24020
附近,非常危险。。。我相信正确的答案是
$AAAADDCC
@Jester谢谢!是的,我的代码的问题似乎是第一行(代码和数据重叠)。现在程序说答案是,
$AAAADDCC
,就像你说的,这似乎是正确的答案。再次感谢!