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 problema |
|
![]() | Il problema della lettura della tastiera o dell'attesa della pressione di tasti, è fondamentale per la gestione interattiva dei programmi, tipica di un menu, di un gioco o di qualunque altro applicativo che lascia decidere all'utente. |
![]() | Nessun programma può fare a meno di attendere la pressione di tasti, non fosse altro per fermarsi e mostrare il suo effetto, prima di restituire il controllo al padre DOS... |
![]() | Di fatto nessuno dei sorgenti assembly proposti fin ora ha potuto farne a meno; una rapida verifica evidenzia che ciascuno di loro è stato terminato con le seguenti istruzioni: |
|
|
![]() |
Esercizio![]() ![]() ![]() |
NB: se il testo
nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
![]() |
![]() |
![]() |
|
![]() | Questo servizio è assicurato dalla Funzione 00H di INT 16H (BIOS per la tastiera), organizzata in una struttura della Libreria Giobe.LIB: la Procedura KEYwait. |
![]() | Il suo compito è proprio quello di rimane in attesa della pressione di un tasto, come la funzione keypressed; del Pascal, di solito usata nel ciclo REPEAT UNTIL keypressed;. |
|
![]() |
Ogni volta che si preme un tasto si rendono disponibili 2 bytes; il compito della KEYwait è indispensabile: non appena un tasto è premuto lascia a disposizione il suo codice Ascii in AL e il suo codice di scansione in AH. |
|
![]() | Il codice Ascii è il numero corrispondente al simbolo riportato sul tasto premuto; le considerazioni su questi codici è marginale, in questa trattazione (per saperne di più, puoi comunque consultare la Tabella dedicata ai Codici Ascii o scaricare e stampare l'utile Manuale) |
![]() | Il codice di scansione è il numero corrispondente alla posizione occupata dal tasto premuto sulla tastiera; sebbene questa informazione sembri irrilevante dimostreremo, tra un po', l'esatto contrario! |
|
![]() | La Sezione GiobeASM
dedica ben 5
pagine all'argomento, per dare risposta ai seguenti quesiti:
|
|
![]() | Sarebbe saggio interrompere la lettura di questo esercizio per assumere queste importanti informazioni; se intendi farlo segnati il numero di questa pagina, clicca sul link appena segnalato e leggi con attenzione le 5 pagine. |
|
![]() |
Palestra Esperti |
![]() |
INTRODUZIONE |
![]() |
![]() |
![]() |
||
1 di 23 |
|
|
|
|
Home
![]() |
|
|||||||
|
Motore Ricerca |
|