085. Iny 隐含寻址
接入 INY 隐含寻址操作码。
第 85 / 356 · tests/chapter_01_cpu/test_085_INY_implied.py
在这一步中,使用测试 084 中的 instructions.iny,仅添加分发逻辑。
生产代码位置与符号
emulator/cpu/opcodes.py: imported `iny` and `OPCODE_TABLE[0xC8]`本步骤存在的原因
由于 Y 是 INY 的隐含操作数,操作码表可以直接分发到指令函数,而无需解码操作数。
本步骤的实现建议
# emulator/cpu/opcodes.py
from emulator.cpu.instructions import iny # alongside existing imports
OPCODE_TABLE = {
# ... existing entries ...
0xC8: iny,
}重要不变量
- 操作码 0xC8 映射到精确的
iny(cpu)函数 - 这条单字节指令将 PC 推进一位
- 回绕及 Z/N 行为仍保留在测试 084 的指令函数中
常见误解
不要仅仅因为表需要一个可调用对象就使用 immediate(cpu);INY 没有操作数字节,立即数解码会破坏 PC。
不在本步骤范围内
- DEY 行为及操作码映射(测试 086-087)
- 后续的 ASL 指令形式
- 周期计时
运行本课
uv run pytest tests/chapter_01_cpu/test_085_INY_implied.py -v