 | La prima fase si
occupa della lettura del dato numerico della Tastiera;
le operazioni necessarie in questo caso sono:
 | la predisposizione di una zona di
memoria DEPO in cui
memorizzare la sequenza di caratteri assunti: il registro
SI è incaricato
(LEA SI,DEPO) di puntare il
valore della
locazione corrente, predisposta nella zona
variabili per questo scopo |
 | l'attesa della pressione di un tasto qualunque
(CALL KEYwait) e la successiva
verifica di ammissibilità:
 | se il tasto premuto è Invio
si pone fine
all'acquisizione |
 | se il tasto premuto non
è numerico (cioè se più
grande dell'ultimo numero, '9'=39H (CMP AL,'9',
JA xxx00, Above) o
più piccolo del primo
numero, '0'=30H (CMP AL,'0', JB
xxx00, Below) non
ci interessa: semplicemente lo si ignora, senza segnalazione d'errore,
ritornando in attesa |
 | solo se si tratta di un tasto numerico il suo
codice ascii viene salvato nel deposito (MOV
CS:[SI],AL) e poi posto a video (CALL
BIOchr1), prima di tornare in attesa di
pressione tasti |
|
 | quando la fase di acquisizione ha termine (per pressione
del tasto Invio) si provvede comunque
a sostituire il suo carattere ascii (=0DH) con
00H, per assicurare il terminatore alla
stringa acquisita; con questo artificio sarà possibile stamparne il contenuto
direttamente con la Macro
M_msgC. |
|