ORG 33500 CALL ROM_CLS LD DE, cadena CALL PrintString ; Imprimir textos loop: ; Línea KSTATE5 LD DE, 17*256 + 0 ; X=17, Y=0 CALL CursorAt LD A, (SYSVAR_KSTATE5) ; KSTATE5 CALL PrintBin ; Imprimir valor (bin) ; Línea FLAGS LD DE, 17*256 + 2 ; X=12, Y=4 CALL CursorAt LD A, (SYSVAR_FLAGS) ; FLAGS CALL PrintBin ; Imprimir valor (bin) LD HL, SYSVAR_FLAGS RES 5, (HL) ; Limpiar BIT 5 de FLAGS ; Línea KEY_SCAN LD DE, 17*256 + 4 ; X=17, Y=4 CALL CursorAt CALL ROM_KEY_SCAN ; Leer teclado LD A, _FLAG_Z CALL PrintFlag ; Imprimir Z Flag CALL PrintSpace LD A, D CALL PrintHex CALL PrintSpace LD A, E CALL PrintHex ; Imprimir DE ; Línea LAST_K LD DE, 17*256 + 6 ; X=17, Y=6 CALL CursorAt LD A, (SYSVAR_LAST_K) ; LAST-K CALL PrintChar JR loop ; repetir en bucle (no hay RET) ROM_CLS EQU $0DAF ROM_KEY_SCAN EQU $028E SYSVAR_FLAGS EQU $5C3B SYSVAR_KSTATE5 EQU $5C05 SYSVAR_LAST_K EQU $5C08 cadena DEFB "KSTATE5 ($5C05): ", _CR, _CR DEFB "FLAGS ($5C3B): ", _CR, _CR DEFB "KEYSCAN (ZF-DE): ", _CR, _CR DEFB "LAST-K ($5C08): ", _EOS ; Incluimos nuestra "libreria" de funciones INCLUDE "utils.asm" END 33500