Resulta que llevo unos días pogramando, y en una parte hay algo que me fallaba siempre, y la verdad es que no daba con la causa del fallo, hasta que me he puesto a debugar paso a paso y ya he visto lo que pasaba...
El fallo era que estaba usando una instrucción tal que así:
Código: Seleccionar todo
ld (hl), NN ; NN es de 16 bits
Pues bien, PASMO (el ensamblador) se lo traga perfestamente, pero a la hora de ejecutar sólo coge los primeros 8 bits de NN, con lo que en memoria está metiendo un número de 8 bits en lugar del número de 16 bits que yo quería.
Pues bien, consultando el set de instrucciones del Z80 veo que esa instrucción ¡no existe!
Oño, ¿y por qué PASMO se la traga? Me hi quedao pasmao...
Así que a partir de ahora, para meter un número de 16 bits en memoria ya sé que la única manera es hacerlo alrevés:
Código: Seleccionar todo
ld (NN), hl
Qué cosas...