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