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