这些指令使用起来非常方便。利用上面的指令可以方便地把一个寄存器存放的数据转移到另一个寄存器。下面让我们研究一下以HL寄存器对作为操作数的4条指令。
MOV B, [HL]
前面讲过LDA指令,它可以把单字节的操作数从存储器转移到累加器;LDA操作码后面直接跟着该操作数的16位地址。在上面列出的指令中,MOV指令把字节从存储器转移到B寄存器,但该字节的16位地址却存放在HL寄存器对中。HL是怎样得到16位存储器地址的呢?这并不难解决,有很多方法可以做到,比如通过某种计算实现。
总而言之,对于下面这两条指令:
LDA A, [aaaa]
MOV B, [HL]
它们的功能都是把一个字节从内存读入微处理器,但它们寻址存储器的方式并不相同。第一种方式称做直接寻址(direct addressing);第二种方式称做间接寻址(indexedaddressing)。
下面列出了其余32条MOV指令,我们看到HL保存的16位存储器地址也可以作为
编码隐匿在计算机软硬件背后的语言
282