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] 

               

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 [3 di 3] - Variante con Procedura interna

               

bulletData la particolarità del progetto desidero sottoporti un'appendice: supponiamo di dover stampare 2 cornici come quella appena progettata, una vicina all'altra, magari per predisporre le tabelle di controllo del gioco "Battaglia Navale".

  

bulletLe alternative sono:
bulletscrivere 2 volte il codice appena studiato, con diverse inizializzazioni di riga e colonna
bulletcreare una procedura interna, specializzata nella stampa dinamica di una cornice 12*12

  

bulletE' un'eccellente occasione per farsi la mentalità; ti ricordo 2 regole fondamentali della programmazione (non solo) assembly, che ho già avuto modo di sottoporti...

  

Suggerimento Se, leggendo un codice sorgente, si notano tratti di programma simili tra loro (a meno di piccoli dettagli) c'è qualcosa che non va!!: il programma va ottimizzato. Di solito conviene estrarre i pezzi di codice in comune e farne una procedura interna (o, se l'estratto si ritiene particolarmente utile, anche una da includere in Libreria, da dichiarare EXTRN)
Un buon programma principale (Main Program) deve essere smilzo, essenziale, immediato: dovrebbe limitarsi a chiamare una o 2 sole procedure e a garantire il servizio di eventuali tasti premuti (prendere decisioni); conviene dunque estrarre comunque i pezzi di codice specializzati e farne procedure interne: la leggibilità del Main Program ne guadagnerà sicuramente!

  

bulletEcco come diventa il programma precedente, applicando le preziose regole del Maestro:

  

Console - Video & Tastiera

Esercizio MOLTO FACILE Esercizio
_bis
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

  

bulletTi faccio notare alcune cose importanti:
bulletpoichè le stringhe Corn00, Corn01 e Corn02 sono invariabili e dedicate alla procedura Cornice possiamo estrarle dall'Area dei dati del programma e inserirle prima della sua definizione; questa scelta rende facile l'eventuale aggiunta di Cornice alle procedure della libreria Giobe.LIB
bulletsubito dopo l'Area dei dati del programma ne è ora presente una nuova: l'area destinata alle procedure (interne) del programma.
bulletse ti capitasse di prenderci gusto ricorda che qualunque altra procedura da te inventata dovrà essere inserita in questo punto del programma sorgente.
bulletla parte di codice che provvedeva alla stampa della cornice ha assunto ora una sua dignità: è diventata procedura! Come tale dispone ora di una sua etichetta (il nome Cornice seguito dai 2 punti, Cornice:) e, soprattutto, mostra la presenza di un'istruzione in più, RET.
bulletricorda che ogni procedura deve terminare con l'istruzione RET: se ti dimentichi di questo particolare (?!) il tuo eseguibile manderà in crash il computer!
bulletIl programma principale si limiterà a chiamare (CALL Cornice) la nuova procedura, provvedendo a passarle i parametri da essa richiesti, cioè le coordinate del suo angolo in alto a sinistra, affidate ai registri DH (riga) e DL (colonna).

  

bulletEstrarre parte del codice assembly dal programma principale per trasformarla in procedura è un'eccellente abitudine:
bulletin primis rende più leggibile il Main Program stesso
bulletin secundis garantisce la disponibilità di un programma specializzato, riutilizzabile anche in possibili altre occasioni

  

bulletLe icone in alto a destra sono a tua disposizione per vedere l'eseguibile EsE004_1.COM (ovviamente uguale al precedente...) e per scaricare questo sorgente EsE004_1.ASM, variante del precedente.

    

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