奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 282 页

PDF 物理页索引 298 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
282
PDF 物理页
298(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
a2c4d463ff22784b7f9ac26bff8c63f5c97f69cb2a65bc8bd6a304fba779a831

这些指令使用起来非常方便。利用上面的指令可以方便地把一个寄存器存放的数据转移到另一个寄存器。下面让我们研究一下以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