075. Inc absoluto x

cablear INC Absoluto,X (`0xFE`).

Lección 75 de 356 · tests/chapter_01_cpu/test_075_INC_absolute_x.py

En este paso, añade emulator/cpu/opcodes.py:inc_absolute_x y OPCODE_TABLE[0xFE] después de las demás formas de INC de las lecciones 071-074.

Por qué existe este paso

Reutiliza addressing_modes.absolute_x para que la decodificación de la dirección base y la indexación con X permanezcan fuera de la primitiva de lectura-modificación-escritura de INC.

Implementación sugerida en emulator/cpu/opcodes.py:

def inc_absolute_x(cpu: CPU):
    addr = absolute_x(cpu)
    inc(cpu, addr)

Añade exactamente esta entrada a la OPCODE_TABLE existente:

0xFE: inc_absolute_x,

Invariantes: se consumen dos bytes de operando little-endian; X se suma a la dirección base de 16 bits; el PC avanza dos posiciones tras obtener el opcode, formando una instrucción de tres bytes; el byte de memoria resuelto envuelve módulo 256; solo Z/N lo reflejan.

Concepto erróneo: la indexación absoluto-X no usa el desbordamiento de página cero. Puede cruzar de página, por lo que $02FF,X con X=1 resuelve a $0300.

Fuera de alcance: DEC comienza en la lección 076. El conteo de ciclos y el tiempo de cruce de página no forman parte de este paso.

Ejecutar esta lección

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