Resulta que estoy liao con el Z80, y me interesa hacer una rutina que al principio deshabilite las interrupciones, y al final las astive o desastive en función de como estuvieran antes de entrar. Así que lo primero que tengo que hacer es detestar el estado de la habilitación:
Código: Seleccionar todo
xor a
ld (INT_STAT), a
ld a, i
jr pe, no_int
inc (INT_STAT)
no_int:
di
Con este trozo grabo en (INT_STAT) un 0 si no están habilitadas, y 1 si sí, ¿nor?
Y al final..
Código: Seleccionar todo
ld a, (INT_STAT)
and a
retz
ei
ret
Con ese otro trozo habilito las interrupciones si antes lo estaban.
¿Lo veis corresto? ¿Está bien usada la condición "pe"?