6502处理器变址寻址模式下有效地址溢出及超0xFFFF处理问询
650X系列变址寻址地址溢出(超0xFFFF)的行为
- 核心行为:当变址寻址的地址计算结果超过0xFFFF(即产生16位以上的进位)时,处理器会直接丢弃高位进位,仅保留低16位数值作为最终访问地址,不会出现冻结、异常等情况。
- 针对给出的实例:
操作数地址0xFFAA+ X寄存器值0xFF,计算结果为0xFFAA + 0x00FF = 0x100A9,处理器会丢弃高位的0x1,最终使用的地址是0x00A9,既不会溢出为0x00AA,也不会导致处理器冻结。 - 补充说明:MOS官方文档未明确提及此行为,但这是650X硬件的实际运行逻辑——处理器的地址总线仅为16位,地址计算仅做16位加法,超出部分无硬件支持保留,且地址计算的进位不会影响状态寄存器的C位(和算术指令的进位是独立逻辑)。
内容的提问来源于stack exchange,提问作者Vadim
相关产品推荐
相关产品推荐

