Sezione |
Indirizzi Base
Registri Interni
|
Schede del Tutorial |
La Tabella dei Vettori |
SCHEDA n° 04 [ 15 di 15] |
|
|
I programmi che si appropriano dei Vettori della Tabella dovrebbero provvedere alla loro disinstallazione completa, cioè tale da garantire il ripristino assoluto del sistema, in modo da lasciare, in uscita, condizioni completamente identiche a quelle trovate in ingresso. | |
In particolare, in caso di manomissione, dovrebbero occuparsi di rimettere nelle caselle della tabella gli indirizzi delle procedure di servizio originali. |
|
Per questa ragione i programmi TSR ben progettati
conservano dentro di sè le locazioni di deposito con i vettori delle procedure
di sistema eventualmente sostituiti, per esempio nella forma e con il nome di
quelle discusse in queste pagine:
| |||||
Naturalmente la fase di ripristino è del tutto analoga a quella trattata in precedenza a proposito dell'Installazione di un nuovo Gestore, con la differenza che, ora, il puntatore da rimettere nella Tabella dei Vettori d'Interruzione non è CS:new_INT ma il contenuto delle 4 locazioni di deposito, espresse nella forma a 2 word, CS:[old_SEG] e CS:[old_OFF], oppure in quella a doubleword, CS:[old_INT]. |
|
Valgono quindi le tecniche suggerite nella pagina
precedente, con le dovute piccole modifiche; in particolare:
|
|
Data l'inutilità di ribadire concetti già espressi ci
limitiamo a descrivere la tecnica di Ripristino del Vecchio vettore con la
Funzione 25H del DOS (per altro di gran lunga
più pratica delle altre tecniche); come valore aggiunto mostriamo l'uso della
potente istruzione LDS, che assume in un
colpo solo i 4 bytes conservati nella
doubleword CS:[old_INT] e li lascia
nei registri DS:DX, a disposizione della
funzione DOS (alla quale si passa in AL
anche il numero del vettore da ripristinare):
| ||||
Per completezza mostriamo anche il codice assembly per fare
la stessa operazione a partire dai 4 bytes conservati nelle 2
word CS:[old_OFF]
e CS:[old_SEG]: anche in questo
caso sono lasciati nei registri DS:DX, a
disposizione della funzione DOS (alla quale si passa in AL
anche il numero del vettore da ripristinare):
|
|
Scheda n° 04 | La Tabella dei Vettori | |||||||
Scheda n° 04 - 15 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|