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 [ 11  di 15] 

    

    Modifica e sostituzione (rimappatura) di un Vettore [1 di 4]
     
bulletRimappare un Vettore significa progettare una nuova procedura di servizio per un determinato Gestore HardWare (Timer, Tastiera, Stampante, ecc.) o per il Servizio SoftWare di uno degli INT xyH previsti dalla Tabella dei Vettori.
bulletCiò comporta la sostituzione, nella locazione corrispondente della Tabella dei Vettori, del puntatore alla vecchia procedura originale (che comunque resterà in memoria a disposizione) con quello alla nuova.

      

bulletCome è ormai noto ogni procedura originale è presente nel sistema per intercessione del BIOS o del sistema operativo o di un suo driver, per cui anche le nuove procedure dovranno essere a disposizione in ogni momento, dopo la rimappatura, per consentire al processore di poterle eseguite semplicemente in risposta della chiamata di sistema INT xyH corrispondente.
bulletL'unico modo per poter disporre di questo servizio è dunque l'utilizzo di un programma di lancio di tipo TSR, cioè tale da terminare lasciando una parte di sè (proprio la nuova procedura) nella memoria convenzionale; dopo l'operazione questo software sarà disponibile fino allo spegnimento del computer.

      

Attenzione ! L'argomento di queste pagine tratta tecniche di programmazione piuttosto sofisticate e particolari; se trovi che sia troppo impegnativo puoi tornare qui in un secondo tempo, quando lo studio del tutorial ti avrà fornito gli elementi necessari.

      

bulletLa rimappatura di un Vettore è operazione ad alto rischio! In ogni caso la sequenza delle cose da fare deve essere assolutamente precisa e ben pensata; tra le cose che non bisogna trascurare ricordiamo:
bulletprima è sempre opportuno assumere dalla tabella l'indirizzo originale e salvarlo in variabili locali dedicate, rese residenti insieme con la nuova procedura di servizio, affinchè‚ il nostro programma possa recuperarle e ripristinarne il valore, quando sarà chiamato a restituire il controllo al sistema operativo nel modo originale.
bulletla nuova procedura deve assicurare (specialmente se si riferisce ad una parte vitale del computer, per esempio al suo timer di sistema) anche l'esecuzione di quella originale.

      

bulletLe fasi della rimappatura di un Vettore sono, di norma, 4:
bulletil recupero del puntatore al vecchio Gestore
bulletla memorizzazione del puntatore al vecchio Gestore
bulletla creazione del nuovo Gestore
bulletl'installazione del nuovo Gestore

      

bulletCiascuna di queste operazioni può essere realizzata con tecniche diverse, più o meno sofisticate; le vedremo in dettaglio nelle pagine seguenti.

    

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 -  11
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