You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Z80 16位LD指令寄存器赋值与内存寻址疑问

Z80 16位LD指令行为解析

1. LD BC, 0x1234 执行结果

执行该指令后,B寄存器的值为0x12,C寄存器的值为0x34。
Z80的16位寄存器对(如BC、DE、HL)遵循「高位寄存器存立即数高字节,低位寄存器存立即数低字节」的规则:指令中的16位立即数0x1234,高字节0x12存入BC对的高位寄存器B,低字节0x34存入低位寄存器C。

2. LD (BC), A 执行后的内存地址

后续执行LD A, 0x56和LD (BC), A后,内存地址0x1234会存储0x56。
BC寄存器对作为16位内存地址使用时,B寄存器的值是地址的高8位,C寄存器的值是地址的低8位,组合后得到地址0x12 << 8 | 0x34 = 0x1234,A寄存器的内容会被写入该地址。

权威依据

Z80官方CPU用户手册(Z80 CPU User Manual)中明确定义了16位立即数加载指令的行为:16位立即数的高字节加载到寄存器对的高位寄存器,低字节加载到低位寄存器;寄存器对作为地址时,高位寄存器提供地址高8位,低位寄存器提供地址低8位。

内容的提问来源于stack exchange,提问作者Stevo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:50:19