107. Rol absoluto

conectar ROL Absolute (opcode ``0x2E``).

Lección 107 de 356 · tests/chapter_01_cpu/test_107_ROL_absolute.py

En este paso, tras los modos de página cero, añade únicamente el adaptador absoluto y la entrada de tabla.

Implementación de ejemplo completa en las ubicaciones de producción

`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,

Por qué existe este paso

La decodificación del operando permanece en `absolute mientras que rol` sigue siendo una operación sobre la dirección de destino compartida por todos los modos de memoria.

Invariantes: se consumen dos bytes de operando en little-endian; `2E 00 02 apunta a $0200`; el PC termina en start+3; solo cambian la memoria de destino y C/Z/N.

Concepto erróneo: los bytes `00 02 codifican $0200, no $0002` y no el valor literal a rotar.

Fuera de alcance: Absolute,X es la lección 108, ROR empieza en 109, y la temporización de página/ciclo no formó parte de esta transición.

Ejecutar esta lección

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