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
deydel 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