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