107. Rol absolute
wire ROL Absolute (opcode ``0x2E``).
Lesson 107 of 356 · tests/chapter_01_cpu/test_107_ROL_absolute.py
In this step, after the zero-page modes, add only the absolute adapter and table entry.
Complete example implementation in the production locations
`emulator/cpu/opcodes.py::rol_absolute`::
def rol_absolute(cpu: CPU):
addr = absolute(cpu)
rol(cpu, addr)`emulator/cpu/opcodes.py::OPCODE_TABLE`::
0x2E: rol_absolute,Why this step exists
Operand decoding stays in `absolute while rol` remains a destination-address operation shared by all memory modes.
Invariants: two operand bytes are consumed little-endian; `2E 00 02 targets $0200`; PC ends at start+3; only target memory and C/Z/N change.
Misconception: bytes `00 02 encode $0200, not $0002` and not the literal value to rotate.
Out of scope: Absolute,X is lesson 108, ROR begins at 109, and page/cycle timing was not part of this transition.
Run this lesson
uv run pytest tests/chapter_01_cpu/test_107_ROL_absolute.py -v