209. Nop, неявная адресация
подключить официальный неявный опкод NOP $EA.
Урок 209 из 356 · tests/chapter_01_cpu/test_209_NOP_implied.py
Зачем нужен этот шаг
На этом шаге обновите импорт инструкций и `OPCODE_TABLE в emulator/cpu/opcodes.py; emulator/cpu/instructions.py::nop` уже существует с шага 208. Это отображение позволяет CPU.step исполнять заполнение в реальных программах.
Предлагаемая реализация
from emulator.cpu.instructions import nop # add to the existing import
OPCODE_TABLE = {
# existing entries
0xEA: nop,
}Инвариант: $EA занимает один байт, поэтому шаг с $8000 заканчивается на $8001 исключительно потому, что CPU.step выбрал опкод; регистры, S, P и память остаются без изменений. Распространённое заблуждение — увеличивать PC внутри `nop` или выбирать фиктивный операнд.
Вне рамок: неофициальные многобайтовые опкоды NOP и изменения тайминга относятся к последующим шагам. Многоинструкционная проверка CPU относится к шагу 210.
Запустить этот урок
uv run pytest tests/chapter_01_cpu/test_209_NOP_implied.py -v