200. Plp implícito

registrar PLP implícito.

Lección 200 de 356 · tests/chapter_01_cpu/test_200_PLP_implied.py

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

Por qué existe este paso

PLP obtiene su valor de la pila seleccionada por S. El opcode $28 no tiene operando y debe despachar directamente a `plp(cpu)`.

Implementación sugerida

from emulator.cpu.instructions import plp

OPCODE_TABLE = {
    # existing entries
    0x28: plp,
}

Invariantes: conserva todas las asignaciones existentes; asigna exactamente $28 a `plp`; no uses envoltorio de modo de direccionamiento; consume solo el byte de opcode; conserva la semántica de sustitución y enmascarado del paso 199.

Concepto erróneo: el byte tras $28 es la siguiente instrucción, no el byte de estado a restaurar; el estado procede exclusivamente de la posición de pila ya incrementada.

Fuera de alcance: el comportamiento de PLP es el paso 199. TXS/TSX corresponden a los pasos 201-204. No debe anticiparse el comportamiento posterior de Break/ONE.

Ejecutar esta lección

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