Giobe©2000 Collaboratori del Sito Consigli dell'Autore

Aggiornamenti & Novità

Istruzioni per l'Uso

Contatti con l'Autore

Informazioni sull'Autore

Informazioni di Copyright

Home Page - Benvenuto!

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

Esercizio n° E004 4/6 [21 di 57] 

               

Analisi del Problema · Analisi del Codice · Analisi del Codice- Variante · Conclusioni

Gestione Caratteri - Stampa in posizione dinamica di una cornice di dimensioni fisse
Analisi del Codice Sorgente [2 di 3]

               

bulletLa soluzione è dunque semplice: si carica un contatore (CX) per eseguire un ciclo che chiama 10 volte la Macro M_msgC con gli stessi parametri etichetta, colonna, colore (rispettivamente Corn01, 35, 0EH, quindi statici) ma con il parametro riga passato dinamicamente, cioè affidato al registro DH:

  

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

  

bulletSi nota che il ciclo deve occuparsi anche di aggiornare (incrementare) la riga corrente, rendendola appunto dinamica.

  

bulletIn realtà, per rendere completamente dinamica la stampa della cornice, è conveniente rendere dinamica anche la colonna, affidandola al registro DL; questa scelta è evidente, nel codice assembly del nostro progetto:

  

  

bulletPrima di ogni cosa il progetto fissa le coordinate del carattere in alto a sinistra della desiderata cornice, a 6 la riga (MOV DH,6) e a 35 la colonna (MOV DL,35) lasciando poi alla procedura il compito di gestire dinamicamente il valore delle coordinate correnti associate a ciascuna delle stringhe necessarie.
bulletQuesto vale sia per i tratti esterni (M_msgC Corn00,DH,DL,0EH e M_msgC Corn02,DH,DL,0EH) che per quelli interni, uguali tra loro, messi a video con tecnica iterativa, caricando il contatore (MOV CX,10) ed eseguendo dinamicamente CX volte la macro M_msgC Corn01,DH,DL,0EH, con l'aiuto dell'istruzione LOOP.

    

Pagina Precedente Palestra Esperti Pagina Successiva Esercizio n° E004 4/6   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
21 di 57
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 55 56 57

    

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