083. Dex implied
Conectar el opcode implícito DEX.
Lección 83 de 356 · tests/chapter_01_cpu/test_083_DEX_implied.py
En este paso, usa instructions.dex del Test 082 y añade únicamente su integración de opcode.
Ubicación y símbolos en producción
emulator/cpu/opcodes.py: imported `dex` and `OPCODE_TABLE[0xCA]`Por qué existe este paso
DEX no tiene un operando explícito, así que su opcode se mapea directamente a dex(cpu) sin un wrapper de direccionamiento.
Implementación sugerida para este paso
# emulator/cpu/opcodes.py
from emulator.cpu.instructions import dex # alongside existing imports
OPCODE_TABLE = {
# ... existing entries ...
0xCA: dex,
}Invariantes importantes
- el opcode 0xCA se resuelve exactamente a la función
dex - ningún ayudante de direccionamiento consume bytes, así que el PC avanza exactamente uno
- la función del test 082 sigue siendo responsable del ajuste circular de X y de los flags Z/N
Concepto erróneo habitual
El operando implícito es el propio X; no obtengas un byte y lo trates como una dirección ni decrementes memoria.
Fuera de alcance
- el comportamiento/mapeo de INX ya completado en los tests 080-081
- el trabajo de INY/DEY de los tests 084-087
- el temporizado de ciclos
Ejecutar esta lección
uv run pytest tests/chapter_01_cpu/test_083_DEX_implied.py -v