204. Tsx, неявная адресация

подключить неявный опкод TSX $BA.

Урок 204 из 356 · tests/chapter_01_cpu/test_204_TSX_implied.py

Зачем нужен этот шаг

На этом шаге цели — импорт инструкций и `OPCODE_TABLE в emulator/cpu/opcodes.py; emulator/cpu/instructions.py::tsx предоставлен шагом 203. Этот переход делает TSX доступным для emulator/cpu/cpu.py::CPU.step`.

Предлагаемая реализация

from emulator.cpu.instructions import tsx  # add to the existing import

OPCODE_TABLE = {
    # existing entries
    0xBA: tsx,
}

Инвариант: $BA — это однобайтовая инструкция с неявной адресацией. Выборка опкода продвигает PC один раз, затем `tsx(cpu)` копирует S в X, обновляет только Zero/Negative и оставляет S без изменений. Распространённое заблуждение — выбирать байт операнда или пропускать поведение флагов из-за того, что адресация неявная.

Вне рамок: вспомогательные функции для флага Decimal и инструкции управления флагами начинаются с шага 205; учёт циклов и последующие возможности CPU здесь не меняются.

Запустить этот урок

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