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