081. Inx implied
Conectar el opcode implícito INX.
Lección 81 de 356 · tests/chapter_01_cpu/test_081_INX_implied.py
En este paso, añade únicamente la integración del opcode INX después de que el Test 080 haya proporcionado instructions.inx.
Ubicación y símbolos en producción
emulator/cpu/opcodes.py: imported `inx` and `OPCODE_TABLE[0xE8]`Por qué existe este paso
INX tiene direccionamiento implícito, por lo que el despacho puede llamar directamente a la función de instrucción. No se necesita ningún wrapper ni ayudante de modo de direccionamiento.
Implementación sugerida para este paso
# emulator/cpu/opcodes.py
from emulator.cpu.instructions import inx # alongside existing imports
OPCODE_TABLE = {
# ... existing entries ...
0xE8: inx,
}Invariantes importantes
- el opcode 0xE8 despacha exactamente a la función
inx(cpu) - no se obtiene ningún byte de operando, así que CPU.step avanza el PC en un byte
- el ajuste circular del registro y las actualizaciones de Z/N siguen siendo responsabilidad del
inxdel test 080
Concepto erróneo habitual
No crees un wrapper inx_implied; las instrucciones implícitas pueden ser entradas directas de la tabla, y un wrapper no añadiría ningún comportamiento de decodificación.
Fuera de alcance
- el comportamiento de la instrucción
dexdel test 082 y el mapeo DEX del test 083 - las instrucciones INY/DEY y de desplazamiento posteriores
- el temporizado de ciclos
Ejecutar esta lección
uv run pytest tests/chapter_01_cpu/test_081_INX_implied.py -v