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° A028 3/5 [136 di 157] 

               

Analisi del Codice · Macro dedicate al Risultato · Somma operandi · Conclusioni

Aritmetica con Numeri Binari - SOMMA di 2 numeri DECIMALI a 2 cifre
                                                                  Versione Ottimizzata con MACRO
Definizione delle nuove Macro: M_Char_, M_BytDec e M_BytAsc

               

bulletLa terza fase del progetto esegue l'operazione sotto test e si occupa del risultato, visualizzando i 2 operandi e la loro somma aritmetica.

  

Console - Video & Tastiera

Esercizio IMPEGNATIVO 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

  

bullet

A ciò sono delegate le 2 Procedure locali, Somma1 e Somma2, specializzate per rendere al meglio il compito loro affidato, la prima in notazione decimale e la seconda in notazione binaria.

  

bullet

In pratica eseguono lo stesso compito di quelle descritte nel progetto precedente con l'aiuto di 3 nuove Macro locali, M_Chr_, M_ByDec e M_BytAsc.

  

bullet

L'idea di proporti questa novità è legata a due motivazioni:
bullet

darti un'altra occasione per far pratica con queste importanti strutture

bullet

renderle disponibili anche nella prospettiva di ottimizzare le rimanenti 3 operazioni aritmetiche

  

bullet

Prima di confrontare le procedure vediamo dunque a che servono e come sono fatte.

  

bullet

La sintassi della Macro M_Chr_ prevede il passaggio di 2 parametri:

               

M_Chr_   carattere, colore

 

bullet Rispetto alla Macro M_Chr, già disponibile nella Libreria Giobe.MAC, non dispone dunque dei 2 parametri riga,colonna cioè non consente di fissare la posizione di stampa (per altro poco utile nel nostro caso...)

               

bulletL'analisi del codice incluso nella Macro, proposto nella seguente Area di Testo, mette in evidenza le sue caratteristiche:
bulletutilizza la Macro M_COLOR per fissare il colore, passato dal parametro colore (il byte di attributo di colore descritto in questa pagina)
bulletstampa un singolo carattere, passato dal parametro carattere direttamente tra apici, nella posizione di stampa corrente, per intercessione della Procedura BIOchr1:

               

  

bullet

La sintassi della Macro M_ByDec prevede il passaggio di 2 parametri:

               

M_BytDec   dato, colore

 

bulletL'analisi del codice incluso nella Macro, proposto nella seguente Area di Testo, mette in evidenza le sue caratteristiche:
bulletutilizza la Macro M_COLOR per fissare il colore, passato dal parametro colore (vale quanto detto poco fa)
bulletstampa la stringa ascii corrispondente al valore decimale del dato a 8 bit passato (tramite registro o direttamente in forma binaria) dal parametro dato, nella posizione di stampa corrente, per intercessione della Procedura Byt2Dec

               

  

bullet

La sintassi della Macro M_ByAsc prevede il passaggio di 2 parametri:

               

M_BytAsc   dato, colore

 

bulletL'analisi del codice incluso nella Macro, proposto nella seguente Area di Testo, mette in evidenza le sue caratteristiche:
bulletutilizza la Macro M_COLOR per fissare il colore, passato dal parametro colore (vale quanto detto poco fa)
bulletstampa la stringa ascii corrispondente al valore esadecimale del dato a 8 bit passato (tramite registro o direttamente in forma binaria) dal parametro dato, nella posizione di stampa corrente, per intercessione della Procedura Byt2Asc:

               

    

Pagina Precedente Palestra Apprendisti Pagina Successiva Esercizio n° A028 3/5   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
136 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