083. Dex 隐含寻址
接入 DEX 隐含寻址操作码。
第 83 / 356 · tests/chapter_01_cpu/test_083_DEX_implied.py
在这一步中,使用测试 082 中的 instructions.dex,仅添加其操作码接入。
生产代码位置与符号
emulator/cpu/opcodes.py: imported `dex` and `OPCODE_TABLE[0xCA]`本步骤存在的原因
DEX 没有显式操作数,因此其操作码直接映射到 dex(cpu),无需寻址包装器。
本步骤的实现建议
# emulator/cpu/opcodes.py
from emulator.cpu.instructions import dex # alongside existing imports
OPCODE_TABLE = {
# ... existing entries ...
0xCA: dex,
}重要不变量
- 操作码 0xCA 解析为精确的
dex函数 - 没有寻址辅助函数消耗字节,因此 PC 恰好推进一位
- 测试 082 的函数仍负责 X 的回绕以及 Z/N 标志
常见误解
隐含操作数就是 X 本身;不要获取一个字节并将其当作地址,也不要递减内存。
不在本步骤范围内
- 测试 080-081 中已完成的 INX 行为/映射
- 测试 084-087 的 INY/DEY 工作
- 周期计时
运行本课
uv run pytest tests/chapter_01_cpu/test_083_DEX_implied.py -v