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