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