|
 |
Raccolta di Procedure ASM |
Asc2Wor
[22 di 54] |
 | Converte
4 caratteri ASCII nel
numero esadecimale a 16 bit che corrisponde loro. |
 | La Procedura
si chiama in questo modo: |
 | In
ingresso bisogna predisporre:
 | SI
con l'indirizzo di Offset della locazione che contiene il primo dei 2 carattere Ascii della stringa da
convertire. |
|
 | In uscita lascia:
 | AL
con il numero esadecimale xyH a 8 bit
corrispondente ai 2 carattere Ascii della stringa
"XY" da convertire. |
|
 | La seguente Area di Testo
mostra il Modulo varie04 utilizzato per
inserire la Procedura
nella Libreria
Giobe.ASM/LIB: |
|
Asc2Wor / varie04 |
NB: se il testo contenuto nell'Area
ti
sembra strano (cioè se contiene
caratteri inconsueti) non hai ancora
installato il font
Giobe.TTF
:
clicca qui!! |
 | L'analisi del codice ci consente queste osservazioni:
 | in pratica esegue 2 volte
la Procedura
Asc2Wor,
prima per i primi 2 caratteri della
stringa (corrispondenti alla
parte alta del risultato) e poi per gli
ultimi 2 caratteri della
stringa (corrispondenti alla
parte bassa del risultato) |
 | il compito della conversione è comunque affidato alla Procedura
Asc2Nib,
della quale sfrutta le caratteristiche |
 | preleva i 4 caratteri da convertire dalla zona localizzata dal
programma (e dall'assemblatore) con l'aiuto di un'etichetta,
scelta a piacere dal programmatore |
 | la stringa, di 4
caratteri ASCII:
 | si definisce
nella zona definita
area destinata ai dati del programma, con la
pseudooperazione DB.
|
 | deve essere composta
esclusivamente da caratteri corrispondenti a
simboli del sistema di numerazione esadecimale, cioè
tutti i numeri da "0" a "9"
e le sole lettere da "A"
a "F". |
|
|
 | Di solito questa Procedura
viene attivata subito dopo aver acquisito la
stringa da tastiera, con una procedura attenta a filtrare ogni
carattere non autorizzato e, possibilmente, in grado di gestire al meglio
l'acquisizione con i giusti accorgimenti:
 | deve terminare automaticamente
dopo la pressione di 4 tasti validi |
 | deve ammettere la pressione del tasto
invio, per consentire la
conferma del dato ascii digitato |
 | deve ammettere la pressione del tasto
backspace, per consentire la modifica del dato ascii, durante la
digitazione |
 | deve segnalare con beep la pressione di tasti non
autorizzati |
|
 | Una simile procedura è stata progettata per la
Libreria Pascal (Giobe.TPU),
con il nome di INexad. |
 | La Libreria
Giobe.ASM/LIB mette a
disposizione anche Procedure
che provvedono alla conversione opposta:
 | 2 convertono un numero esadecimale a 16 bit (word)
in una stringa Ascii esadecimale (4 caratteri
scelti tra
i numeri da "0" a "9"
e le lettere da "A"
a "F"), comunque posta a video nella posizione di stampa
corrente:
 | la
Wor2Asc , che opera la stampa a livello
BIOS |
 | la RAMword che invece provvede ad inserire i
4 caratteri direttamente in
RamVideo |
|
 | una (la
Wor2Dec) converte il numero esadecimale a 16 bit (word)
in una stringa Ascii decimale (fino
a 5 caratteri scelti tra i numeri da "0"
a "9"), posta a video nella posizione di
stampa corrente a livello BIOS. |
|
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|