204. Tsx implícito
conectar el opcode implícito TSX $BA.
Lección 204 de 356 · tests/chapter_01_cpu/test_204_TSX_implied.py
Por qué existe este paso
En este paso, los objetivos son la importación de instrucciones y `OPCODE_TABLE de emulator/cpu/opcodes.py; emulator/cpu/instructions.py::tsx la proporciona el paso 203. Esta transición expone TSX a emulator/cpu/cpu.py::CPU.step`.
Implementación sugerida
from emulator.cpu.instructions import tsx # add to the existing import
OPCODE_TABLE = {
# existing entries
0xBA: tsx,
}Invariante: $BA es una instrucción implícita de un byte. La obtención del opcode avanza PC una vez, y a continuación `tsx(cpu)` copia S en X, actualiza solo Zero/Negative y deja S sin cambios. El error conceptual habitual es obtener un byte de operando u omitir el comportamiento de los flags porque el modo de direccionamiento es implícito.
Fuera de alcance: los ayudantes del flag Decimal y las instrucciones de control de flags empiezan en el paso 205; la contabilidad de ciclos y otras funciones posteriores de la CPU no cambian aquí.
Ejecutar esta lección
uv run pytest tests/chapter_01_cpu/test_204_TSX_implied.py -v