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

Premesse Importanti [2 di 157] 

    

           Aggiornato 15 febbraio 2007
bulletTutto e facile e scontato quando si sa cosa fare... e tu, se sei qui in questo momento, probabilmente non sai proprio nulla, ma hai tanta voglia di entrare in questo mondo ancora sconosciuto ma ricco di fascino (.. come tutte le cose ignote).

  

bulletRicordati: per chi vuole vincere nulla è impossibile... basta non mollare e far lavorare intuito e fantasia.

      

bulletLa stesura e la scelta dei contenuti dei singoli esercizi non è stata banale, per non correre il rischio di stroncare sul nascere la buona disponibilità  e le speranze di autonomia dei miei allievi...; un buon insegnante deve saper dare tutto, ma a piccole, gustose, dosi; ... e deve saper emozionare...
bulletDeve mettere la soluzione in mano all'allievo dandogli la sensazione di averla trovata da solo.

  

Suggerimento Ricorda: l'allievo (...prima o poi...) supera il maestro ...
...e se il maestro conosce il suo compito non può che esserne felice!

  

bulletPer muoverti con sicurezza devi aver letto almeno una volta Cosa serve per iniziare..., con le indicazioni per creare il mio Ambiente Assembler e muoverti in esso con sicurezza.
bulletInoltre prima di passare alla prossima pagina puoi (devi?) provare con me la tua prima Compilazione; fatto una volta è fatto per sempre!

   

bulletPoichè è la prima volta... desidero darti alcuni consigli:

      

bulletgli esercizi vanno eseguiti rigorosamente nella sequenza proposta, uno dopo l'altro: sono stati pensati per introdurre difficoltà crescenti e, spesso, quelli che seguono sono l'evoluzione del precedente
bulletè opportuno che i concetti imparati di volta in volta non vengano dimenticati: ti consiglio un quaderno degli esercizi, sul quale riporterai le informazioni che più ti hanno colpito: è il modo migliore per memorizzare le cose per sempre...
bulletin particolare la pagina "Conclusioni", presente in ogni esercizio, è una vera e propria raccolta di Trucchi del mestiere: se impari e ti ricordi queste pagine diventerai presto autonomo e sicuro.
bulletgli argomenti teorici coinvolti negli esercizi sono tutti documentati; ad essi rimandano i link interattivi, presenti in gran quantità nelle pagine del mio sito. Almeno all'inizio non è necessario cliccarci sopra: ci sono e nessuno li toglierà..; ci puoi tornare dopo aver fatto un po' di pratica
bulletnegli scritti che ti proporrò ci sono gli mnemonici delle istruzioni: ovviamente non ne sai nulla ma, uno alla volta, diventeranno di tua conoscenza; per ora li puoi subire così come sono, intuendo la loro operatività, anche consultando i ricchi commenti ad essi associati
bulleta proposito, impara fin d'ora a dare presenza ai tuoi sorgenti, con l'uso del tasto TAB: ogni riga di programma ha sempre 4 campi che puoi imparare a separare appunto con tabulati:

      

Campo
Etichetta

Campo
Mnemonico

Campo
Operando

Campo commento
(fortemente consigliato!!)

Inizio:  MOV  AH,00H ;carica il registro AH con il
;numero esadecimale 00H
   MOV  AL,03H ;carica il registro AL con il
;numero esadecimale 03H
   INT  10H ;chiama la procedura di sistema

      

bulletimpara anche a commentare ogni riga di programma, così come ho fatto io per te: quando riprenderai in mano il sorgente, dopo qualche tempo, sarai grato a te stesso...
bulleti commenti si aggiungono dopo un ; (punto e virgola) sul quarto tabulato; commentare un sorgente è un'arte: nell'esempio precedente il commento è becero (la pedissequa traduzione dell'istruzione è inutile...); e più intelligente e utile interpretarla, per esempio così:

      

Campo
Etichetta

Campo
Mnemonico

Campo
Operando

Campo commento
(fortemente consigliato!!)

Inizio:  MOV
 MOV
 INT
 AH,00H
 AL,03H
 10H
;Provvede alla cancellazione del
;video, posizionando il  cursore
;alla riga0,colonna0,in alto a
;sinistra (a livello BIOS)

      

bullet Importante: impara a scegliere con intelligenza le etichette da associare ai punti interni del codice che stai scrivendo; certamente si tratta di scelte decisamente personali, comunque legittime e indiscutibili; io posso solo proporti il mio punto di vista, fermo restando che la libertà è un bene impagabile:
bulletse possibile usa parole con meno di 8 caratteri (così da essere ospitate all'interno del Campo Etichetta, senza invadete il Campo Mnemonico); l'uso di stringhe troppo lunghe non giova alla leggibilità e all'ordine di un sorgente ASM
bulletusa sempre stringhe significative e sinteticamente emblematiche, cioè in grado di rendere con pochi caratteri il senso dell'oggetto a cui si riferiscono; di solito questo consiglio è utile per definire variabili, costanti o procedure (per esempio Byt2Dec, Via_Cur, Random, ...), non certo per le etichette intermedie del codice
bulletnon sprecare energie per le etichette intermedie del codice; è assurdo (salvo in caso eccezionale) creare e usare stringhe del tipo sotto, giù, rientra, fine, ecc..: dopo un po' la nostra fantasia comincia ad essere frustrata e non sapremo più cosa inventare. Personalmente uso la tecnica delle etichette di servizio, del tipo XXX01, XXX02, .., cioè stringhe numerate in modo progressivo, in grado di svolgere egregiamente il proprio compito senza far scoppiare il cervello in fantasie non necessarie
bulletlo stesso discorso vale per le etichette intermedie delle procedure: anche in questo caso conviene usare etichette di servizio, numerate in modo progressivo ma ora con una radice del nome della procedura. Per esempio Byt2_0, Byt2_1..., con riferimento alla mia Byt2Dec
bulletidem per la definizione delle etichette destinate alle variabili; per esempio quando le stringhe di testo sono numerose (sempre salvo eccezioni) è inutile perdere tempo a pensare definizioni differenziate: molto meglio Testo01, Testo02,..  o Cornic1, Cornic2, .. , comunque raggruppando le etichette in categorie emblematiche numerate

      

bulletInfine, ricorda che tutti i sorgenti hanno una struttura, necessaria per consentire al compilatore di tradurre in numeri binari (codice macchina) le parole che hai scritto nel sorgente (codice assembly); questa struttura è sempre la stessa e va copiata di programma in programma.

  

bulletLa descrizione di questi argomenti di contorno è forse un po' noiosa (perchè non produce effetto visibile, ...quello che in questo momento brami), ma indispensabile per dare sicurezza al lavoro.

  

bullet Non ti devi preoccupare di conoscerli ora: il primo esercizio ha anche il compito di fornirti Una Tantum queste preziose nozioni.

  

bullet Ti ricordo che per organizzare e realizzare un progetto in Assembly è indispensabile:

  

 
  conoscere gli argomenti del primo capitolo del Tutorial (il processore e le sue istruzioni; il Debug e le Librerie di Sistema)
  disporre e conoscere compilatore, linker e editor, argomenti trattati nel secondo capitolo del Tutorial
  aver scaricato e letto i preziosissimi Manuali stampabili

    

Pagina Precedente Palestra Apprendisti Pagina Successiva Premesse Importanti   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
2 di 157
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

    

PALESTRA » Apprendisti » Es.001 Es.002 Es.003 Es.004 Es.005 Es.006 Es.007 Es.008 Es.009 Es.010 Es.011 Es.012
Es.013 Es.014 Es.015 Es.016 Es.017 Es.018 Es.019 Es.020 Es.021 Es.022 Es.023 Es.024
Es.025 Es.026 Es.027 Es.028 Es.029 Es.030 Es.031 Es.032 Es.033

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

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