Sezione |
Indirizzi Base
Registri Interni
|
Palestra Livello Apprendisti Livello Esperti |
Programmare in Assembly |
Esercizio n° A013 3/4 [69 di 157] |
|
|
||
Acquisizione Caratteri - Aspetta pressione di soli tasti NUMERICI con eco - Messaggio d'errore | ||
Analisi del Main Loop |
|
Aggiornato 12 febbraio 2007 - [nel sorgente Es013.ASM sostituito JG xxx02 con JA xxx02; ricompilare l'esercizio] |
Data per spiegata la fase iniziale (Desktop) e finale (rientro al DOS) vediamo cosa succede nel Main Loop di EsA013.ASM: |
|
|
Esercizio |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
La banale aggiunta di un messaggio
di avviso, proposto in posizione fissa, sull'ultima riga dello
schermo, crea un inaspettato fastidioso problema.
|
|
Perciò bisogna premere provvedimenti; la
casella di testo mostra i punti di
differenza:
|
|
La fase di acquisizione
e di verifica è del tutto identica a
quella del programma precedente:
|
|
La prima differenza con il programma della volta precedente si ha se non è così: si salta a livello xxx02, dove, invece della banale emissione di un beep, si provvede a mostrare un messaggio (M_msg Testo03,..) sull'ultima riga a partire dalla colonna 4 (24,04) in bianco brillante su Rosso (4FH), come richiesto dalle specifiche in caso pressione di tasto non autorizzato. |
|
Con la prima differenza sorge
anche il primo problema:
come far sparire il messaggio dopo la sua
proposta a video. La soluzione è piuttosto semplice, basta
sovrascriverlo con quello standard
proposto all'inizio:
|
|
|
Ma anche se il tasto premuto è
effettivamente numerico si ha una seconda differenza
con il programma precedente:
|
|
Anche per questo esercizio ti ho preparato l'estratto del file Listato EsA013.LST, generato dall’assemblatore; con esso puoi provare una eventuale analisi in ambiente Debug: |
|
|
Palestra Apprendisti | Esercizio n° A013 3/4 | |||||||
69 di 157 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|