Sezione |
Indirizzi Base
Registri Interni
|
Palestra Livello Apprendisti Livello Esperti |
Programmare in Assembly |
Esercizio n° A001 3/9 [7 di 157] |
|
|
||
Gestione Caratteri - Stampa di un solo carattere | ||
Analisi del Codice [2 di 3] - Parte iniziale comune ad ogni Sorgente (Una Tantum) |
|
Vediamo come si devono iniziare i sorgenti Assembly; sebbene non sia una regola scritta la tecnica descritta in questa pagina è una prassi riconosciuta da tutti i programmatori e vale per qualunque altro sorgente di questo Sito... |
|
Te la propongo Una Tantum in questo primo esercizio, dandola per commentata nei prossimi; per questo leggi con attenzione e memorizza mentalmente ogni commento: |
|
|
Esercizio |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
Dopo le direttive SEGMENT, ASSUME e ORG, richieste dall'assemblatore, la prima istruzione in assoluto (INIZIO: JMP Es0001) è un salto incondizionato. |
|
Questa istruzione è posta volutamente all'inizio di ogni programma: si tratta di una tecnica ben precisa che consente di saltare l'area destinata ai dati del programma (destinata ad ospitare la definizione delle variabili e dei testi) e le eventuali procedure interne del programma, puntando direttamente la prima istruzione della parte principale (MAIN PROGRAM) del sorgente assembly. |
|
Con questa tecnica ogni locazione destinata ad accogliere i dati e le variabili del programma è certamente appartenente al segmento di codice (invece che al segmento dati, come potrebbe essere naturale pensare), e come tale può essere puntata con il segment override CS:, garantendo di essere rinvenuta anche in situazioni a rischio (.. ne riparleremo..). |
|
Il salto JMP Es0001 è quindi necessario per evitare al processore il tentativo di eseguire i bytes di dato come fossero codici operativi, con evidente immediato crash. |
|
Poichè questo programma non definisce né variabili né procedure, l'istruzione JMP Es0001 è, in questo caso, del tutto inutile e può essere cancellata, lasciando però l'etichetta INIZIO:, necessaria al compilatore per localizzare la prima istruzione da compilare, in coppia con quella presente nell'ultima riga (END INIZIO) che chiude sempre il programma sorgente |
|
Nella pagina seguente analizzeremo il programma vero e proprio, quello che realizzerà il compito che ci siamo prefissi. |
|
Palestra Apprendisti | Esercizio n° A001 3/9 | |||||||
7 di 157 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|