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

Capitolo 1

Home » Programma il Computer » Tutorial Assembly

Capitolo 1 - Il processore - Il Debugger

  Il Processore e il Debugger

PROCESSORE 80x86 7/14 [18 di 60] 

    

    I Registri - Premesse
     
bulletLa struttura interna di un processore è relativamente complessa ma la logica che lo governa rende facile la comprensione delle sue parti; nelle pagine successive analizzeremo in dettaglio lo schema funzionale (architettura) del glorioso 8086, nostro punto di riferimento per la futura fase della programmazione in Assembly.
bulletPossiamo anticipare che ogni processore è costituito essenzialmente da 2 parti, rispettivamente specializzate nella gestione dei dati  (interfaccia con i bus) e nella loro elaborazione (unità di esecuzione); in entrambe entrano pesantemente in gioco i suoi Registri interni, una struttura tra le più importanti e tipiche di una CPU.
bulletPer questa ragione è conveniente descriverli  e conoscerli dettagliatamente, al fine di rendere più agevoli le analisi proposte nelle pagine future.

      

bulletUn microprocessore è chiamato ad elaborare informazioni assunte dall'esterno e, per poterlo fare ha bisogno di un suo taccuino d'appunti personale: chiunque di noi memorizza sulla carta gli operandi di una addizione e poi diligentemente ne somma le cifre in colonna, fino a ricostruire il risultato, su una riga sottostante...
bulletIl processore (... fatto a immagine e somiglianza del suo creatore) non è da meno: ha bisogno di memorizzare temporaneamente gli operandi dentro di se, in attesa che qualcuno li prenda in considerazione e ricostruisca il risultato dell'operazione richiesta.
bulletLe locazioni di memoria personali del processore hanno il nome di Registri.

      

Suggerimento I Registri sono locazioni di memoria ultraveloci (hanno la velocità del clock) in stretto contatto con tutte le altre parti della CPU a cui appartengono, con le quali interagiscono al fine di elaborare i dati pervenuti o organizzare il loro smistamento.

      

bulletDunque i registri sono una risorsa di enorme valore, anche come semplice deposito dati: il programmatore assembly (... cioè noi) può disporre di punti di memorizzazione direttamente sul posto della loro elaborazione, in alternativa a quelli classici disponibili in RAM; è chiaro che il dato di un registro è disponibile subito, mentre quello della RAM deve essere da essa prelevato e portato dentro, con notevole differenza sui tempi d'esecuzione.
bulletPurtroppo il loro numero è piuttosto piccolo (non ce n'è mai abbastanza, .. vecchio piagnisteo dei programmatori...) ma con una saggia amministrazione ed un corretto utilizzo la programmazione non può che trarne grande vantaggio.

      

bulletIl controllo dei registri si esercita attraverso le istruzioni , per esempio quelle di scambio (come  MOV AL,AH ) o quelle aritmetiche (come  ADD AX,BX ) o quelle logiche (come  XOR DI,SI ); la conoscenza del set delle istruzioni aiuta ad usare bene i singoli registri, al fine di accoppiarli ai compiti per i quali sono meglio predisposti.

      

Suggerimento I Registri sono, di norma, specializzati, cioè sono in grado di compiere al meglio certe operazioni anziché altre; usare un registro diverso da quello specializzato non vanifica l'operazione (istruzione) desiderata ma la rende meno efficiente e più costosa, nel senso che il programma finale avrà tempi d'esecuzione più elevati ed occuperà più spazio in memoria).

      

bulletIl numero e la dimensione dei registri si sono evoluti con la storia dei processori, come la disponibilità di nuove istruzioni; di norma la dimensione di un registro è quella del bus interno della CPU alla quale appartengono. In contrapposizione con i registri a 16 bit del patriarca 8086 (che cominceremo a conoscere tra poco...) vanno tenuti nel dovuto conto quelli a 32 bit delle ultime generazioni.
bullet In ogni caso i vecchi registri a 16 bit sono ancora perfettamente riconosciuti e ampiamente utilizzati nella programmazione; nelle nuove architetture sono da ritenersi un sottoinsieme dei nuovi (più esattamente la loro parte bassa).
bulletPer questa ragione lo studio e l'utilizzo dei registri a 16 bit rimane del tutto legittimo e didatticamente valido: spetterà al lettore sperimentare le nuove istruzioni a 32 bit (certamente più potenti e, forse, un po' più impegnative) al termine degli esperimenti condotti e suggeriti da questo Tutorial.
bulletNelle pagine successive spingeremo a fondo la conoscenza dei 14 gloriosi registri a 16 bit dell'8086.

    

Pagina Precedente Capitolo 1 Pagina Successiva PROCESSORE 80x86 7/14   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
18 di 60
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

    

CAP. 1 » 1. Processore 80x86 2. Istruzioni 80x86  3. Debug  4. La Grande Libreria
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