Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Libreria GIOBE.ASM

Home » Programma il Computer » Tutorial Assembly

Raccolta di Procedure

  Raccolta di Procedure ASM

KEYwait 4/5 [9 di 54] 

    

bulletEccoci al dunque: per evitare malfunzionamenti i tasti vanno rigorosamente interpretati in questo ordine:
bullet tasti di Controllo
bullet tasti con numeri
bullettasti con segni di interpunzione o altro (non lettera)
bullettasti con lettera
bullettasti Funzione e/o tasti Funzionali

               

bulletLa ragione è legata alla loro natura, spiegata nelle pagine precedenti:
bullet i tasti di Controllo, con numeri o con segni di interpunzione sono caratterizzati dal codice Ascii, disponibile in AL
bulletanche i tasti con lettera sono caratterizzati dal codice Ascii, disponibile in AL, ma siccome il codice è diverso, in funzione della presenza o meno del tasto Caps Lock (il tasto con il lucchetto, a sinistra della tastiera, che rende la lettera maiuscola o minuscola) vanno trattati con più attenzione
bulleti tasti Funzione e/o Funzionali sono caratterizzati dall'avere codice Ascii (=AL) uguale a 0, per cui il loro riconoscimento deve essere affidato al codice di scansione, disponibile in AH

               

bulletNon mi rimane che mostrarti qualche esempio concreto di Main Loop.
bulletCominciamo con un caso semplice: per terminare il programma aspetta la pressione del tasto "Q" o del tasto Esc:

               

 

punto elenco per la verifica del tasto Esc fa riferimento all'etichetta ESC_ piuttosto che al suo codice tasto Ascii 1BH, certamente meno memorabile
punto elenco per la verifica del tasto Q evita i rischi dovuti allo stato del tasto Caps Lock:
punto elenco premendo un tasto letterale non è dato sapere se ad esso verrà associato un codice Ascii maiuscolo 'Q' o minuscolo 'q'
punto elenco la maschera con 1101 1111 (=DFH) forza comunque a 0 il bit5 del dato letto, trasformando appunto l'eventuale minuscola 'q' = 71H = 0111 0001) in maiuscola 'Q' = 51H = 0101 0001
punto elenco la pressione di qualunque altro tasto produce l'emissione di un Beep d'avviso e l'immediato rientro nel Main Loop d'attesa

               

bulletIn generale saranno coinvolti diversi tasti, ma mai nella misura proposta dal codice seguente; quando dovrai creare programmi che coinvolgono la tastiera in modo professionale puoi scaricarlo nella sua completezza e incollarlo al tuo sorgente ASM, estraendo poi solo la parte che ti interessa:

               

 

punto elenco la prima cosa da fare è verificare se si tratta di tasti Funzione o Funzionali: solo se è così il suo codice Ascii è nullo (AL=0); il loro servizio si effettua a parte, con riferimento (NB) al valore di AH (codice di scansione)
punto elenco in accordo alla scaletta concordata all'inizio si verificano, in stretta sequenza, i tasti di Controllo (come Esc o Invio o BackSpace), i tasti Numerici (da 0 a 9), i tasti di interpunzione (per esempio !), i tasti Letterali (da A a Z)
punto elenco la pressione di qualunque altro tasto produce l'emissione di un Beep d'avviso e l'immediato rientro nel Main Loop d'attesa

    

Pagina Precedente Libreria GiobeASM Pagina Successiva KEYwait 4/5   Torna alla Home  del Capitolo3 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
9 di 54
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

    

Giobe.ASM » SET_cur | VIA_cur | RIP_cur | BIOScls| BIOSchr |BIObeep |Acapo| BIOchr1| STAsp| BIOSmsg
Byt2Asc | Wor2Asc | Asc2Byt | Asc2Wor | Byt2Dec | Wor2Dec | Dec2Byt | Dec2Wor
Delay | DelMicro | Del_2000 | Del1500 | Del_1000 | Del_100 | Del_1 | Del500Mi | Del200Mi
Del100Mi | Del010Mi | RIEMPI | KEYwait | Random | INstrin | CambiaCol | MODEtest
RAMchr | RAMcur | RAMmes | RAMcls | RAMcorn | RAMpiu | RAMrecup | RAMbyte | RAMword
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati