 | in ingresso in AL c'è
il codice ascii numerico decimale, letto
da Keywait, un
byte certamente compreso tra '0'
(=30H) e '9'
(=39H) |
 | affida a DI (LEA
DI,Tab_Num) il compito di puntare la
Tabella |
 | prepara il moltiplicatore
AH (MOV
AH,3), per tener conto che
ciascuna voce della
Tabella ha 3
bytes |
 | prepara il moltiplicando,
trasformando (SUB
AL,'0') in AL il codice ascii numerico
passato in ingresso (tra '0' e '9')
in numero binario (tra
00H e 09H) |
 | prepara in AX (MUL
AH) un numero binario
progressivo proporzionale al tasto numerico premuto: il
prodotto sarà certamente un
numero multiplo di 3 |
 | prepara il puntatore (ADD
DI,AX) alla voce
della
Tabella che corrisponde al tasto numerico
premuto |
 | recupera la coordinata di riga
(MOV DH,CS:[DI+1])
e di colonna (MOV
DL,CS:[DI+2]) del punto della
tastierina a video in cui stampare il
carattere ascii corrisponde al tasto
numerico premuto |
 | fissa
dinamicamente
la posizione di stampa (M_CURSOR
DH,DL) e stampa il carattere
(CALL BIOchr1)
con il colore predisposto in ingresso nella variabile locale [ATTRIB],
quindi o spento (08H,
grigio su nero) o acceso (0FH,
bianco brillante su nero). |