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)部分中,答案是D0.L=$ffeedcc,因为它将复制$024020-$024023的内容 但我不明白第(二)部分。我想老师说答案是D0.L=$AAAABBCC,但也许我听错了 此外,我还编写了一段代码来检查结果: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)部分
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
,就像你说的,这似乎是正确的答案。再次感谢!