202. Txs, неявная адресация

подключить неявный опкод TXS $9A.

Урок 202 из 356 · tests/chapter_01_cpu/test_202_TXS_implied.py

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

На этом шаге цели — импорт инструкций и `OPCODE_TABLE в emulator/cpu/opcodes.py; emulator/cpu/instructions.py::txs уже существует с шага 201. Подключение опкода делает это изолированное поведение исполняемым через emulator/cpu/cpu.py::CPU.step`.

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

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

OPCODE_TABLE = {
    # existing entries
    0x9A: txs,
}

Инвариант: TXS занимает один байт, поэтому единственное продвижение PC — выборка опкода в CPU.step; диспетчеризация вызывает `txs(cpu)` напрямую и сохраняет X и P без изменений. Распространённое заблуждение — проводить TXS с неявной адресацией через режим адресации и потреблять следующий байт как операнд.

Вне рамок: реализация TSX и регистрация $BA относятся к шагам 203-204; учёт циклов и последующие возможности CPU не входят в этот переход.

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

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