8085 微处理器中的 LHLD a16 指令类型
在 8085 指令集中,LHLD 是一个助记符,代表使用直接寻址从内存位置加载 HL 对,该内存位置的 16 位地址表示为 a16。因此,HL 寄存器对的先前内容将被新的 16 位值更新。由于 HL 对需要更新,因此数据来自以地址 a16 开始的两个连续的内存位置以及下一个地址位置。此指令使用绝对寻址模式来指定指令中的数据。它在内存中占用 3 个字节。
助记符,操作数 | 操作码(十六进制) | 字节 |
---|---|---|
LHLD 地址 | 2A | 3 |
让我们考虑一个属于此类别的示例指令 LHLD 4050H。此指令将占用 3 个字节,因此占用 3 个内存位置。第一个字节将包含操作码 2AH,第二个字节将包含低位地址字节 50H,最后一个字节将包含高位地址字节 40H。假设 4050H 和 4051H 内存位置分别保存值 AAH 和 BBH。此外,HL 寄存器对包含初始值,例如 CCH 和 DDH。现在,在执行 LHLD 4050H 指令后,HL 寄存器对的更新内容将变为 AABBH。让我们考虑以下跟踪表以更好地理解。
之前 | 之后 | |
---|---|---|
(4050H) | BBH | BBH |
(4051H) | AAH | AAH |
(H) | CCH | AAH |
(L) | DDH | BBH |
地址 | 十六进制代码 | 助记符 | 注释 |
---|---|---|---|
200B | 2A | LHLD 4050H | 从 4050H 和 4051H 内存位置的内容初始化 HL 寄存器对。 |
200C | 50 | 地址的低位字节 | |
200D | 40 | 地址的高位字节 |
请注意,8085 中没有像 LBCD a16 和 LDED a16 这样的指令。由于 HL 对是最重要的寄存器对,其内容可以通过比任何其他寄存器对更多的方式加载。
现在让我们考虑一下下面此指令 LHLD 4050H 的时序图。
总结 - 因此,此指令 LHLD 4050H 需要 3 个字节、5 个机器周期(操作码获取、内存读取、内存读取、内存读取、内存读取)和 16 个 T 状态才能执行,如时序图所示。
广告