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

Schede del Tutorial

Home » Programma il Computer » Tutorial Assembly

Le Schede del Tutorial

  La Tabella dei Vettori

SCHEDA n° 04 [ 2  di 15] 

    

    Generalità
     
bulletNel quarto paragrafo del Capitolo2 (La Grande Libreria) abbiamo parlato ampiamente delle procedure di sistema, disponibili subito dopo la fase iniziale di accensione del nostro computer, citando spesso questa struttura come un magico meccanismo in grado di trovare ed utilizzare la risorsa in base al solo numero esadecimale che la contraddistingue.

      

Suggerimento La Tabella dei Vettori ospita l'elenco degli entry-point (indirizzo logico, segment:offset) di ciascuna delle possibili 256 procedure di sistema allocate nel BIOS e nel sistema operativo e catalogate progressivamente per numero, da 00H a FFH.

      

bulletPoiché ciascun puntatore è strutturato nella forma segment:offset (cioè coinvolge 4 bytes) possiamo osservare che:
bulletl'area di memoria necessaria è proprio di 1024 bytes (1k), 256*4.
bulletciascun vettore sarà allocato in tabella ad indirizzi multipli di 4 (es: 00000H, 00004H, 00008H, 0000CH, ....).
bulletla locazione che ospita ciascun vettore è facilmente calcolabile moltiplicando per 4 il suo numero corrente (es: il vettore 10H è ospitato a partire da 00040H.
bulleti 4 bytes associati a ciascun vettore sono memorizzati in tabella con la consueta logica Lo-Hi; per esempio la lettura dei bytes associati al vettore 10H darebbe l'indirizzo C31C:198A se in tabella ci fosse:

      

Vettore in Tabella byte significato
0000:0040 8A low Offest
0000:0041 19 high Offest
0000:0042 1C low Segment
0000:0043 C3 high Segment

      

bulletLa Tabella dei Vettori è scritta in Ram per cui, all'inizio non contiene alcun dato utile; solo al termine della fase di boot-strap le sue voci sono disponibili, almeno in parte: il Bios e il sistema operativo provvedono ad annotare i vettori che appartengono loro, di solito poco più di un centinaio (su 256 possibili).
bulletLa sua natura ram consente anche di modificare a piacere il valore di ciascun puntatore:
bulletMolti vettori rimangono inutilizzati, ma quelli formalmente riconosciuti sono straordinariamente utili; i processori 80x86 hanno infatti un'apposita istruzione in grado di accedere alle procedure di sistema puntate da ciascuno di essi semplicemente passandole come operando il numero corrispondente.
bulletSi tratta dell'istruzione INT xyH, con xyH tra 00H e FFH, nota come interrupt software.
bulletIl suo compito assomiglia a quello svolto dall'istruzione CALL address: la differenza sta nel fatto che questa è destinata a chiamare le nostre procedure (cioè quelle definite per nostro comodo nei nostri programmi sorgente) mentre INT xyH rende disponibili le procedure di sistema (cioè quelle predisposte dal costruttore nella BIOS o dal sistema operativo o dalle sue estensioni).

      

Suggerimento Poichè la Tabella dei Vettori è allocata in ram è possibile modificare a piacere il valore di ciascun puntatore in essa contenuto: questa operazione estremamente potente (sebbene, qualche volta, ad alto rischio) obbliga il processore ad eseguire procedure alternative, senza che se ne accorga!!

      

bulletIn effetti il processore è chiamato ad eseguire la procedura puntata dal vettore estratto dalla posizione (in tabella) proporzionale ad un determinato numero di INT..., indipendentemente dal fatto che quel indirizzo sia originale o da noi modificato in tabella prima di chiamare la INT.
bulletIn questi casi si parla di rilocazione di vettore, una tecnica molto ambita dai programmatori che veramente vogliono governare il proprio computer.

    

Pagina Precedente Scheda n° 04 Pagina Successiva La Tabella dei Vettori Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Scheda n° 04 -  2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    

SCHEDE » 1.Header EXE 2.PseudoOp MASM 3.Differenza tra Macro e Procedure
4.
Tabella Vettori 5.PSP 6.Stack 7.Istruzioni 80x86
8.La misura dell'Informazione 9.Numeri e Logica Binaria
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