xxx00: CALL KEYwait ; Rimane in attesa di tasti premuti CMP AL,00H ; Se AL Š trovato a 0 si tratta certamente di un JE Funzion ; tasto Funzione o di un tasto Funzionale CMP AL,ESC_ ; Verifica tasto ESC JE _OUT ; Ritorno immediato al sistema operativo CMP AL,CR ; Verifica tasto Invio (Enter) JE ServCR ; Vai al servizio del tasto Invio/Enter CMP AL,BkSp ; Verifica tasto backSpace JE ServBkSp ; Vai al servizio del tasto BackSpace CMP AL,'9' ; JA xxx01 ; Verifica tasto numerico CMP AL,'0' ; Vai al servizio dei tasti numerici JAE Numero ; xxx01: CMP AL,'!' ; Verifica eventuale tasto di interpunzione JE ServPunto ; Vai al servizio del tasto di interpunzione ; ; AND AL,11011111B ; ende Maiuscole le (eventuali) minuscole CMP AL,'Q' ; Verifica tasto 'Q' JZ _OUT ; Ritorno immediato al sistema operativo CMP AL,'Z' ; JA xxx02 ; Verifica tasto letterale CMP AL,'A' ; Vai al servizio dei tasti letterali JAE Lettera ; xxx02: CALL BIObeep ; Emette un BEEP per avvisare dell'avvenuta JMP SHORT xxx00 ; pressione di un tasto indesiderato e torna in ; attesa ;--[ NB: con AH !!]---; [Servizio tasti Funzione o tasti Funzionali]-- Funzion:CMP AH,F1 ; Codice Scansione tasto Funzione JE ServF1 CMP AH,F2 ; Codice Scansione tasto Funzione JE ServF2 ; ; ; CMP AH,FrUp ; Codice Scansione tasto Funzionale JE ServFrUp ; CMP AH,FrDn ; Codice Scansione tasto Funzional JE ServFrDn ; CMP AH,FrSn ; Codice Scansione tasto Funzional JE ServFrSn ; CMP AH,FrDx ; Codice Scansione tasto Funzionale JE ServFrDx ; ; ; CMP AH,PgUp ; Codice Scansione tasto Funzionale JE ServPgUp ; CMP AH,PgDn ; Codice Scansione tasto Funzionale JE ServPgDn ; ; ; CMP AH,Canc ; Codice Scansione tasto Funzionale JE ServCanc ; CMP AH,Del_ ; Codice Scansione tasto Funzionale JE ServDel_ ; CMP AH,Home ; Codice Scansione tasto Funzionale JE ServHome ; CMP AH,Fine ; Codice Scansione tasto Funzionale JE ServFine ; ; Emette un BEEP per avvisare dell'avvenuta JMP SHORT xxx02 ; pressione di un tasto indesiderato e torna in ; attesa _OUT: MOV AH,4CH ; Torna al DOS INT 21H ;