Sezione |
Indirizzi Base
Registri Interni
|
Palestra Livello Apprendisti Livello Esperti |
Programmare in Assembly |
Esercizio n° A020 3/5 [103 di 157] |
|
|
||
Gestione Numeri Binari -
Conversione da word a 4 caratteri Ascii EXAD - Wor2Asc da Libreria Legge le prime 128 locazioni della Memoria e ne mostra il valore a gruppi di 16 con l'indirizzo segmentato, come fa DEBUG |
||
Analisi del Main Loop |
|
Nonostante la sua notevole resa estetica questo programma differisce pochissimo dal precedente; osserviamo insieme la sua parte principale: |
|
|
Esercizio |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
Le prime istruzioni di questo codice assembly affidano alla coppia di registri ES:DI il compito di puntare le prime locazioni Ram, allocate a partire dall'indirizzo fisico 00000H, corrispondente all'indirizzo logico 0000:0000; per questa ragione sono caricati entrambi con il valore 0000H; di questo argomento ci siamo occupati dettagliatamente la volta scorsa. |
|
Il loop interno (istruzioni tra xxx01 e LOOP xxx01) è perfettamente identico a quello di EsA019.ASM: provvede alla stampa di una riga completa di 16 stringhe, ciascuna chiamata a mostrare il byte corrente, prelevato dall'istruzione MOV AL,ES:[DI], messo a video con la CALL Byt2Asc e completato esteticamente con una 'H' e uno spazio. |
|
Le differenze sono solo nel loop esterno (istruzioni tra xxx00 e LOOP xxx00): intanto stampa solo 8 righe consecutive (invece di 16) e, soprattutto provvede a far precedere le 16 stringhe (prodotte dal loop interno) con la visualizzazione del loro indirizzo logico. |
|
Per questa piacevole novità si avvale della Procedura Wor2Asc, già disponibile nella Libreria Giobe.LIB/ASM; per poterne fruire basterà dunque dichiararla EXTRN all'inizio del sorgente ASM. |
|
|
Palestra Apprendisti | Esercizio n° A020 3/5 | |||||||
103 di 157 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|