156. Cpx inmediato

expone CPX inmediato como opcode ``0xE0``.

Lección 156 de 356 · tests/chapter_01_cpu/test_156_CPX_immediate.py

Por qué existe este paso

CPX inmediato expone primero la comparación mediante la ejecución de la CPU con un valor literal y sin búsqueda en la memoria de datos.

En este paso, después de que la lección 155 haya creado la instrucción, haz estas adiciones en `emulator/cpu/opcodes.py`:

from emulator.cpu.instructions import (..., cpx)

def cpx_immediate(cpu: CPU):
    cpx(cpu, immediate(cpu))

OPCODE_TABLE = {
    ...
    0xE0: cpx_immediate,
}

`emulator/cpu/addressing_modes.py::immediate devuelve CPU.fetch_byte()` directamente como valor comparado. CPX cambia solo C/Z/N; X, la memoria y Overflow permanecen invariantes, y el opcode más el operando avanzan PC dos bytes.

Concepto erróneo: el byte inmediato es un valor, no una dirección que requiere una lectura del bus. Fuera de alcance: CPX de página cero y absoluto (157-158), y todos los símbolos y opcodes de CPY (159-162).

Ejecutar esta lección

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