196. Pla implícito

registrar PLA implícito.

Lección 196 de 356 · tests/chapter_01_cpu/test_196_PLA_implied.py

Requisito previo: el paso 195 añadió `pla. En este paso, modifica únicamente emulator/cpu/opcodes.py importando pla y añadiendo su entrada en OPCODE_TABLE`.

Por qué existe este paso

La entrada de PLA es la pila de hardware seleccionada por S. El opcode $68 no tiene operando, así que `CPU.step() debe despachar directamente a pla(cpu)`.

Implementación sugerida

from emulator.cpu.instructions import pla

OPCODE_TABLE = {
    # existing entries
    0x68: pla,
}

Invariantes: conserva las asignaciones existentes; asigna exactamente $68 a `pla`; no uses envoltorio de modo de direccionamiento; consume solo el byte de opcode; conserva los efectos sobre Z/N del paso 195.

Concepto erróneo: la memoria de programa tras $68 no proporciona el valor extraído; lo hace la dirección de pila ya incrementada.

Fuera de alcance: el comportamiento de `pla` es el paso 195. PHP empieza en el paso 197, y esta transición no debe introducir su función ni su asignación de opcode.

Ejecutar esta lección

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