Sezione |
Indirizzi Base
Registri Interni
|
Palestra Livello Apprendisti Livello Esperti |
Programmare in Assembly |
INTRODUZIONE [1 di 23] |
|
|
||
Acquisizione Caratteri - Rileva la pressione di tasti autorizzati e segnala errore per gli altri | ||
Analisi del Codice Sorgente [3 di 6] - Servizio tasti funzione e tasti funzionali |
|
Ma torniamo al Main Program dell'esercizio EsE008.ASM; per non appesantire la spiegazione ho evitato di coinvolgere tutti i tasti possibili, limitandomi a rilevarne 2 o 3 per ogni singola categoria. |
|
Quali tasti vanno cercati per primi? La risposta a questa domanda e il futuro rispetto delle conseguenti regole rende perfetto il servizio della pressione di tasti. |
|
Non appena il compito della KEYwait ha termine, dopo la pressione di un tasto qualunque, la coppia di registri AL/AH contiene il loro codici Ascii/scansione. | |
La prima cosa da fare è controllare (CMP AL,00H) se il codice Ascii del tasto premuto è nullo: |
|
|
Esercizio |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
se è così (AL=00H) si tratta di un tasto funzione o di un tasto funzionale: il nostro codice prosegue con l'istruzione successiva, affidando la possibilità di riconoscere il tasto al contenuto del registro AH: solo tramite il codice di scansione è possibile infatti risalire al tasto giusto; nel nostro esempio è ammessa la pressione solo di 4 dei 22 possibili: i tasti Funzione F1 e F10 e i tasti Funzionali FrecciaSinistra e FrecciaDestra |
|
se non è così (AL<>00H) si tratta di un tasto standard: il nostro codice prosegue a livello xxx01 (JNZ xxx01), affidando, come vedremo nella pagina successiva, la ricerca al contenuto del registro AL: ognuno dei possibili tasti sarà caratterizzato dal codice Ascii corrispondente alla scritta che porta su di se; il codice di scansione è in questo caso del tutto irrilevante! |
|
Desidero farti notare una tecnica
di programmazione che potrà tornarti utile anche in altre
occasioni: avrai certamente notato che, prima di
confrontare i dati a disposizione (AL e
AH)
con quelli del tasto atteso, viene caricato il
puntatore SI (LEA
SI,<etichetta_indirizzo>) con l'istruzione LEA:
|
|
Palestra Esperti | INTRODUZIONE | |||||||
1 di 23 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|