Sezione |
Indirizzi Base
Registri Interni
|
Libreria GIOBE.ASM |
Raccolta di Procedure ASM |
INstrin [23 di 54] |
|
Rimane in attesa di una Stringa di caratteri nella posizione di stampa corrente. |
|
La Procedura si chiama in questo modo: |
|
|
In
ingresso bisogna predisporre:
|
|
La seguente Area di Testo mostra il Modulo varie05 utilizzato per inserire la Procedura nella Libreria Giobe.ASM/LIB: |
|
INstrin / varie05 |
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 mette in evidenza che, contrariamente a tutte le altre Procedure della Libreria, questa lavora a livello DOS; chiama infatti la Funzione DOS 0CH dell'INT 21H, con il compito di vuotare il Buffer (area di memoria) puntato in ingresso da DS:DX e poi di attivare la una seconda Funzione DOS, specificata dal numero inserito in ingresso in AL. | |
Poichè la Procedura predispone il valore 0AH, la struttura chiamata è la Funzione DOS 0AH dell'INT 21H, cui spetta il compito vero: quello di leggere una stringa di caratteri dal dispositivo standard d'ingresso, cioè dalla tastiera, facendone ECO a video, finchè non risulta premuto Invio. | |
Come in tutte le attività promosse a livello BIOS non esiste la possibilità di colorare i caratteri in acquisizione: essi verranno stampati con i colori di default del DOS (di solito bianco su nero) | |
Perchè la Procedura ( e le Funzioni DOS) funzioni correttamente il Buffer deve essere costruito ad arte; la seguente Area di Testo mostra un modo elegante di definirlo: |
|
|
L'analisi del suo contenuto suggerisce alcune
considerazioni:
|
|
Per esempio,
se la costante è stata predisposta al valore PRE_LEN
EQU 4:
|
|
Con PRE_LEN EQU
10:
|
|
Il corretto funzionamento di questa Procedura potrebbe essere
opportuno fissare anche le
coordinate della posizione di stampa (con
M_CURSOR),
sebbene questa informazione
non sia strettamente necessaria:
|
|
Per esempio, per acquisire la stringa nel punto di coordinate riga=10 e colonna=20, si deve scrivere questa sequenza di istruzioni: |
|
|
Libreria GiobeASM | INstrin | |||||||
23 di 54 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|