140. Eor absolute y

añadir el opcode EOR absolute,Y ``0x59``.

Lección 140 de 356 · tests/chapter_01_cpu/test_140_EOR_absolute_y.py

Por qué existe este paso

El opcode absoluto indexado por Y proporciona la forma correspondiente de acceso a datos de EOR sin crear una segunda implementación del comportamiento del acumulador o de las flags.

En este paso, siguiendo la lección 139, añade exactamente lo siguiente a `emulator/cpu/opcodes.py`:

def eor_absolute_y(cpu: CPU):
    addr = absolute_y(cpu)
    value = cpu.bus.read(addr)
    or_e(cpu, value)

OPCODE_TABLE = {
    ...
    0x59: eor_absolute_y,
}

`emulator/cpu/addressing_modes.py::absolute_y obtiene la palabra base en little-endian y luego suma Y; este auxiliar no aplica una máscara adicional & 0xFFFF. El manejador lee la ubicación indexada y llama a instructions.or_e`. A y Z/N pueden cambiar; Carry/Overflow, la memoria, X e Y permanecen invariantes; el PC avanza tres bytes.

Concepto erróneo: Y indexa la dirección decodificada, no ninguno de los bytes codificados. Fuera de alcance: EOR (indirect,X)/(indirect),Y (141-142) y BIT (143-145).

Ejecutar esta lección

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