Z80 寄存器对

Z80 register pairs

我对 Z80 和机器代码还很陌生,所以请不要以为我什么都知道。

基本上,我想知道的是:如果你用一个值(我称之为 y)加载寄存器 H,那么 HL 会是 0xy0?例如如果 H 加载了 0xAFHL0xAF00 吗? 用 y 加载 L 也是一样吗?

提前致谢。

H和L 8位寄存器可以独立对待。在 H 中加载一个值,不会影响 L 中的值,反之亦然。 H和L这两个寄存器也可以看成一对16位的寄存器。以下来源 FIRST STEPS IN MACHINE CODE 对此进行了描述。

two single register transfers, e.g.

LD H, B

LD L, C

to copy BC into HL.

You can, if you wish, load a register pair directly with a single instruction, rather than use two instructions. From last time, you will recall that the H and L, B and C, and D and E registers can be paired such that they effectively can hold any number between 0 and 65535 (00 to FFFF hex). C, E, and L form the low byte of the pair, while B, D, and H are the high bytes.