我想访问数组的特定存储位置。我的条件是这样的使用汇编语言进行存储器访问
让我们说数组是arr []有100个元素,我想访问第10个元素。所以为此我想移动到第10个内存位置。存储器位置由用户定义,因此存储在数据寄存器中。那么我如何使用数值数据寄存器移动到所需的地址。这是代码,我有
lea morse,a1
clr.b d2
add.b #11,d1
move.b (d1,a1,d2.w),d1
move.l #6,d0
trap #15
我也试过这个代码,但它不工作
lea morse,a1
clr.b d2
move.b #13,d2
move d2(a1),d3
move.b d3,d1
move.l #6, d0
trap #15
这看起来很奇怪:move.b(d1,a1,d2.w),d1请参阅http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf表2-4。有效的寻址模式和类别。在那里找不到任何3寄存器寻址模式。只有两个寄存器+一个常量。在第二个版本中如何“移动d2(a1),d3”=>移动(a1,d2),d3? (=具有disp = 0的索引的地址寄存器间接)。 – turboscrew 2014-10-31 15:01:27
或move.b(a1,d2),d1? – turboscrew 2014-10-31 15:02:54