Z80 寄存器对
Z80 register pairs
我对 Z80 和机器代码还很陌生,所以请不要以为我什么都知道。
基本上,我想知道的是:如果你用一个值(我称之为 y
)加载寄存器 H
,那么 HL
会是 0xy0
?例如如果 H
加载了 0xAF
会 HL
是 0xAF00
吗?
用 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.
我对 Z80 和机器代码还很陌生,所以请不要以为我什么都知道。
基本上,我想知道的是:如果你用一个值(我称之为 y
)加载寄存器 H
,那么 HL
会是 0xy0
?例如如果 H
加载了 0xAF
会 HL
是 0xAF00
吗?
用 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.