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

Palestra Livello Apprendisti Livello Esperti

Home » Programma il Computer » Tutorial Assembly

Palestra Assembly - Home Page

  Programmare in Assembly

INTRODUZIONE [1 di 23] 

               

Premessa importante · Analisi del Codice · Conclusioni

Gestione Caratteri - Progetto di un Desktop - Seconda versione
Premessa importante [1 di 2] - Progetto di una nuova Macro

               

bulletNelle precedenti esercitazioni abbiamo affinato la tecnica d'uso della Macro M_msgC nella stampa delle stringhe colorate di testo.
bulletLo studio di oggi richiede un'operazione mai affrontata finora: mettere a video singoli caratteri.

  

bulletDi fatto le singole opzioni del menu interattivo sono evidenziate con un colore diverso, non solo per garantire un piacevole ed utile effetto; di solito alla pressione del tasto corrispondente alla lettera evidenziata si affida il compito di attivare il servizio suggerito dall'opzione..

  

bulletNaturalmente è assurdo pensare di utilizzare ancora la M_msgC, nella ancor più assurda idea di definire una stringa di un solo carattere; sebbene la cosa possa funzionare, questa macro è nata per servire stringhe e non singoli caratteri.

  

bulletPoichè il rischio d'errore è tipico dell'entusiasmo del giovane virgulto... desidero proporre il seguente stralcio di codice: esso (pur funzionante) è assolutamente da evitare ed è messo in evidenza proprio per scoraggiarne l'impiego:

  

Console - Video & Tastiera

Esercizio MOLTO FACILE Esercizio
NB: se il testo nell'Area  ti sembra strano
     
installa il  font
Giobe.TTF: clicca qui!!
Mostra l'Effetto Prova l'eseguibile COM Scarica il codice Sorgente ASM

  

bulletDunque, per la stampa di un singolo carattere Ascii, la macro M_msgC non va bene!

  

bulletIl modo migliore per mettere a video un singolo carattere Ascii è affidarsi alla Procedura BIOchr1, per altro già utilizzata in background anche dalla Macro M_msgC.

  

bulletPer poterla sfruttare al massimo è opportuno studiarla in tutti i suoi dettagli; in questa sede mi limiterò ad ricordare alcune modalità d'uso che possono tornare utili:
bulletil carattere da stampare deve essere predisposto, prima della chiamata, nel registro AL
bulletverrà collocato nella posizione di stampa corrente, cioè nel punto esatto in cui sta lampeggiando il cursore hardware del video (il famoso trattino lampeggiante)
bulletse la posizione di stampa non è quella corrente (cosa verosimile, data la necessità di stamparlo in modo isolato) è possibile fissare le nuove coordinate con l'aiuto della macro M_CURSOR, appositamente studiata per passare il numero di riga (da 0 a 24) e di colonna (da 0 a 79) desiderato
bulletdopo la stampa 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.
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 predisposto nella variabile locale ATTRIB.
bullet la variabile locale ATTRIB deve essere obbligatoriamente definita (nella zona dei dati del programma) e inizializzata dal programma chiamante; se non si modifica il suo contenuto ogni cosa posta a video avrà sempre lo stesso colore..
bulletè possibile fissare un nuovo attributi di colore con l'aiuto della macro M_COLOR, appositamente studiata per modificare il contenuto della variabile locale ATTRIB: sono possibili 128 diversi Colori senza Flash e altrettanti Colori con Flash.

    

Pagina Precedente Palestra Esperti Pagina Successiva INTRODUZIONE   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
1 di 23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

    

PALESTRA » Esperti » Es.001 Es.002 Es.003 Es.004 Es.005 Es.006 Es.007 Es.008 Es.009 Es.010 Es.011

| Che serve per iniziare | Prima compilazione | Livello Apprendisti |

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