Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Libreria GIOBE.ASM

Home » Programma il Computer » Tutorial Assembly

Raccolta di Procedure

  Raccolta di Procedure ASM

INTRODUZIONE [1 di 54] 

    

bulletStampa un carattere colorato nella posizione di stampa corrente e con il colore predisposto nella variabile locale ATTRIB.
bullet Dopo la messa a video del carattere provvede ad aggiornare la posizione del cursore, in modo da fargli puntare il posto in cui verrà collocato il successivo carattere; ogni volta che esso si trova in alla fine di una riga si produce il ritorno a capolinea.
bulletE' in grado di operare in ogni modalità video (... anche in quelle grafiche).

 

bulletLa Procedura si chiama in questo modo:

               

  

bulletIn ingresso bisogna predisporre:
bulletAL con il codice Ascii del carattere da stampare

 

bulletLa seguente Area di Testo mostra il Modulo bios08 utilizzato per inserire la Procedura nella Libreria Giobe.ASM/LIB:

               

BIOchr1 / bios08

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!!

               

bulletL'analisi del codice mette in evidenza il suo sofisticato modo di operare:
bulletlegge la posizione di stampa in ingresso, con  livello Funzione 03H di INT 10H
bulletstampa il carattere predisposto, prima della chiamata, nel registro AL, con l'aiuto della Funzione 09H di INT 10H
bulletil carattere verrà stampato con colore di primo piano (quello dei pixel che formano il carattere) e colore dello sfondo (quello dei pixel rimanenti) corrispondente al byte (detto di attributo di colore) predisposto nella variabile ATTRIB, definita e inizializzata obbligatoriamente dal programma chiamante
bulletil carattere verrà collocato nella posizione di stampa corrente, cioè nel punto esatto in cui sta lampeggiando (nel momento della chiamata) il cursore hardware del video (il famoso trattino lampeggiante)
bulletdopo la stampa (in uscita dalla chiamata) la posizione del cursore viene aggiornata automaticamente; in altre parole il cursore si sposta a destra di una posizione e, se già si trova a fine riga, viene spostato a capo della riga successiva
bulletfissa la nuova posizione di stampa, con la Funzione 02H di INT 10H, a disposizione delle stampe successive
bulletle schede dedicate a queste Funzioni BIOS affrontano in modo dettagliato ogni altro particolare relativo ai rispettivi compiti
è predisposta per lavorare in pagina0, dato che il registro BH è predisposto al valore 00H

               

bulletIl corretto funzionamento di questa Procedura è dunque assicurato solo se, prima di chiamarla, si predispone almeno il registro AL con il codice Ascii del carattere che si desidera stampare.
bulletPotrebbe essere necessario fissare anche le coordinate della posizione di stampa (con M_CURSOR) e il colore desiderato (con M_COLOR); ma entrambe queste informazioni non sono strettamente necessarie:
bulletse non si specificano le coordinate la procedura collocherà il carattere nella posizione di stampa corrente (là dove lampeggia il cursore)
bulletse non si specifica il colore la procedura prende per buono il codice presente in quel momento nella variabile ATTRIB.

               

bulletPer esempio, per mettere una lettera "A" di colore giallo su sfondo blu (1EH) nel punto di coordinate riga=10 e colonna=20, si deve scrivere questa sequenza di istruzioni:

               

               

Suggerimento In questo caso, sebbene la situazione della stampa di un singolo carattere sia piuttosto improbabile, non potendo fare a meno di specificare tutte e 4 le istruzioni suggerite qui sopra nota, si verificano le condizioni tipiche per la creazione di in una Macro, la M_Chr, che con una sola riga di programma consente tra l'altro di passare come parametro le coordinate, il colore e il carattere stesso.

  

bulletVa sottolineato che questa Procedura è in grado di interpretare semigraficamente ogni carattere ASCII, cioè mette a video la matrice di punti prevista per ognuno dei 256 caratteri dal Set coinvolto; la cosa è particolarmente utile per i primi 32 caratteri Ascii (detti di controllo), di solito utilizzati per esercitare azioni di controllo (come la messa a capo del cursore..).
bulletIn realtà anche questi caratteri hanno un loro simbolo grafico, spesso accattivante (come i semi delle carte, ♠♣♥♦, i simboli delle frecce, ←↑→↓, le note musicali, ♫♪,...) e questa funzione consente la loro messa a video.
bulletIn altre parole, per esempio, caratteri Ascii di controllo come 0DH=CR=Carriage Return e 0AH=LF=Line Feed, di solito coinvolti per mandare a capo il cursore, gestiti da questa Procedura mettono a video rispettivamente i simboli e .

  

bulletIn questo differisce dalla Procedura BIOSchr, che, invece di stampare e , esegue la messa a capo del cursore.

  

bulletLa Libreria Giobe.ASM/LIB mette a disposizione la Procedura RAMchr, che stampa un carattere colorato a livello RamVideo.
bulletPer lo stesso servizio la Libreria Giobe.MAC offre le 2 Macro:
bulletla M_chr, a livello BIOS
bulletla RAMchr, a livello RamVideo.

    

Pagina Precedente Libreria GiobeASM Pagina Successiva INTRODUZIONE   Torna alla Home  del Capitolo3 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
1 di 54
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

    

Giobe.ASM » SET_cur | VIA_cur | RIP_cur | BIOScls| BIOSchr |BIObeep |Acapo| BIOchr1| STAsp| BIOSmsg
Byt2Asc | Wor2Asc | Asc2Byt | Asc2Wor | Byt2Dec | Wor2Dec | Dec2Byt | Dec2Wor
Delay | DelMicro | Del_2000 | Del1500 | Del_1000 | Del_100 | Del_1 | Del500Mi | Del200Mi
Del100Mi | Del010Mi | RIEMPI | KEYwait | Random | INstrin | CambiaCol | MODEtest
RAMchr | RAMcur | RAMmes | RAMcls | RAMcorn | RAMpiu | RAMrecup | RAMbyte | RAMword
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati