我对Z80和机器代码相当陌生,所以请不要以为我知道什么。
基本上,我想知道的是:如果您用一个值加载寄存器H (我将称之为y),那么HL会是0xy0吗?如果H装载了0xAF,HL会是0xAF00吗?在用L加载y时也是如此吗?
提前谢谢。
发布于 2018-02-09 20:26:48
H和L8位寄存器可以独立处理.在H中加载一个值,不会影响L中的值,反之亦然。这两个寄存器H和L也可以被视为16位寄存器对.下面的源机器代码中的第一步描述了这一点。
两个单一的寄存器转移,例如。 LD H,B LD L,C 将BC复制到HL中。
和
如果愿意,您可以直接用单个指令加载寄存器对,而不是使用两个指令。从上一次开始,您会记得H和L、B和C以及D和E寄存器可以配对,以便它们能够有效地保持0到65535之间的任意数字(00到FFFF十六进制)。C、E和L构成对的低字节,而B、D和H是高字节。
https://stackoverflow.com/questions/48713004
复制相似问题