Sezione |
Indirizzi Base
Registri Interni
|
Palestra Livello Apprendisti Livello Esperti |
Programmare in Assembly |
INTRODUZIONE [1 di 23] |
|
|
||
Gestione Caratteri - Stampa in posizione dinamica di una cornice di dimensioni fisse | ||
Analisi del Codice Sorgente [1 di 3] |
|
La stampa di una cornice di dimensioni prefissate è piuttosto facile; è necessario anzitutto decidere la sua altezza e la sua larghezza. | |
Il programma del nostro esempio deve provvedere alla creazione di una cornice in grado di ospitare 10x10 caratteri. | |
Ciò impone subito una considerazione, solo apparentemente scontata: la dimensione effettiva della cornice deve essere di 12x12, perchè ovviamente anche i caratteri ascii usati per racchiudere l'area vogliono il loro posto.. |
|
La prima cosa da fare è, dunque, definire le stringhe necessarie per costruire la cornice: naturalmente sarebbe un'inutile spreco prevederne 12, dato che quelle centrali sono identiche tra loro. | |
Basterà definire le 2 stringhe esterne (Corn00 e Corn02) e quella dell'elemento centrale (Corn01), tutte rigorosamente lunghe 12 caratteri: |
|
|
Esercizio |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
Poichè la
Macro
M_msgC stampa
ciascuna stringa nel punto
che noi desideriamo, sembra sufficiente:
|
|
|
Naturalmente vale la regola secondo cui "quando una parte di programma appare più di una volta c'è qualcosa che non va... (cioè può sempre essere ottimizzarla)" | |
Anche esteticamente da fastidio dover scrivere 10 volte l'elemento centrale (Corn01) su altrettante righe consecutive, tra le stringhe delle prime 2 (Corn00 e Corn02), per cui conviene affidare questo compito ad un ciclo (loop) predisposto per fare 10 giri... |
|
Ma nasce subito il problema: come cambiare la riga dentro il ciclo? E' proprio questo il concetto che ti voglio spiegare: bisogna rendere dinamico il valore numerico della riga di stampa, e ciò si può fare solo affidandosi ad una variabile locale o ad un registro. |
|
In tutte le strutture delle mie librerie ho scelto di affidare ai registri DH (per la riga) e DL (per la colonna) le informazioni dinamiche legate alla posizione di stampa corrente, cioè alle coordinate del carattere che sta per essere scritto. |
|
Palestra Esperti | INTRODUZIONE | |||||||
1 di 23 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|