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