087. Dey implied

Conectar el opcode implícito DEY.

Lección 87 de 356 · tests/chapter_01_cpu/test_087_DEY_implied.py

En este paso, usa instructions.dey del Test 086 y añade únicamente su integración de opcode.

Ubicación y símbolos en producción

emulator/cpu/opcodes.py: imported `dey` and `OPCODE_TABLE[0x88]`

Por qué existe este paso

El operando del registro Y de DEY es implícito, lo que permite un despacho directo en la tabla sin ningún wrapper de modo de direccionamiento.

Implementación sugerida para este paso

# emulator/cpu/opcodes.py
from emulator.cpu.instructions import dey  # alongside existing imports

OPCODE_TABLE = {
    # ... existing entries ...
    0x88: dey,
}

Invariantes importantes

  • el opcode 0x88 despacha exactamente a la función dey(cpu)
  • no se consume ningún operando y el PC avanza un byte
  • el ajuste circular de Y y las actualizaciones de Z/N siguen siendo responsabilidad del dey del test 086

Concepto erróneo habitual

No construyas un wrapper de decremento de memoria alrededor de dec; DEY modifica el registro y no realiza ninguna lectura o escritura en el bus.

Fuera de alcance

  • el comportamiento/mapeo previo de INY de los tests 084-085
  • el comportamiento de ASL y los opcodes que comienzan en el test 088
  • el temporizado de ciclos

Ejecutar esta lección

uv run pytest tests/chapter_01_cpu/test_087_DEY_implied.py -v