|
 |
Programmare in Assembly |
Esercizio n° E004 4/6
[21 di 57] |
 | La soluzione è dunque semplice: si carica un contatore (CX)
per eseguire un ciclo che chiama 10
volte la
Macro
M_msgC con gli stessi
parametri
etichetta, colonna, colore
(rispettivamente Corn01,
35, 0EH,
quindi statici) ma con il parametro
riga
passato dinamicamente, cioè
affidato al registro
DH: |
 | Si nota che il ciclo
deve occuparsi anche di
aggiornare
(incrementare) la riga corrente, rendendola appunto
dinamica. |
 | In realtà, per rendere
completamente dinamica
la stampa della
cornice, è conveniente rendere
dinamica anche la colonna, affidandola al
registro
DL; questa scelta è evidente,
nel codice assembly
del nostro progetto: |
 | Prima di ogni cosa il progetto fissa le coordinate
del carattere
in alto a sinistra della desiderata
cornice, a 6 la
riga (MOV
DH,6)
e a 35 la colonna (MOV
DL,35)
lasciando poi alla procedura il compito di gestire
dinamicamente il valore delle coordinate
correnti associate a ciascuna delle stringhe necessarie. |
 | Questo vale sia per i tratti esterni (M_msgC
Corn00,DH,DL,0EH e M_msgC
Corn02,DH,DL,0EH) che per quelli interni, uguali tra
loro, messi a video con tecnica iterativa, caricando il contatore (MOV
CX,10) ed eseguendo dinamicamente
CX volte la macro
M_msgC Corn01,DH,DL,0EH, con l'aiuto dell'istruzione
LOOP. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|