Offset |
N°
bytes°
|
Descrizione
|
000A
|
4
|
|
000E
|
4
|
|
Contiene l'indirizzo logico originale
della procedura attivata ogni
volta che si preme la combinazione di tasti Ctrl-C o Ctrl-Break
(Interr/Pausa sulle tastiere italiane). Il loader del Dos lo preleva
dal vettore INT 23H e lo copia
in queste locazioni, a beneficio del nostro programma, che può
anche cambiarlo. |
|
Quando il programma termina spetta
ancora al Dos il compito di ripristinare il vettore INT
23H con il valore contenuto in queste locazioni. |
|
La lettura di questi bytes in un
PSP
preso come esempio (8A 03 EB 06) ha dato il valore segmentato:
06EB:038A. |
|
0012
|
4
|
|
Contiene l'indirizzo logico originale
della procedura attivata ogni
volta che si verifica un errore critico, di solito
situazioni che impediscono il proseguimento del programma. Il loader
del Dos lo preleva dal vettore INT 24H
e lo copia in queste locazioni, a beneficio del nostro programma,
che può anche cambiarlo. |
|
Quando il programma termina spetta
ancora al Dos il compito di ripristinare il vettore INT
24H con il valore contenuto in queste locazioni. |
|
La lettura di questi bytes in un
PSP
preso come esempio (17 03 EB 06) ha dato il valore segmentato:
06EB:0317. |
|
0016
|
22
|
|
Le 22 locazioni successive sono riservate al
DOS; di norma contengono 00H (sebbene l'analisi sul nostro
PSP
d'esempio abbia rilevato invece la sequenza:
DA 06 01 01 01 00 02 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ). |
|
002C
|
2
|
|
Contiene la parte segment
dell'indirizzo logico dell'Environment
Dos, cioè dell'area ram in cui sono memorizzate le
stringhe Asciiz che il Dos utilizza per passare informazioni tra i programmi; la parte
offset è da ritenere
0000H, per cui se per esempio i bytes letti sono
B8 0C, il puntatore a questa zona di ram sarà:
0CB8:0000. |
|
Di certo l'area puntata contiene le
caratteristiche del padre del programma eseguibile a cui
appartiene il PSP che stiamo analizzando (di norma Command.com), di cui rimane traccia nella voce COMSPEC
dell'environment; l'immagine mostra il contenuto di una parte di
questa struttura (analizzato con Debug)
e la sua visualizzazione in chiaro:
-d
0CB8:0
0CB8:0000 43 4F 4D 53 50 45 43 3D-43 3A 5C 57 49 4E 32 30
COMSPEC=C:\WIN20
0CB8:0010 30 30 5C 53 59 53 54 45-4D 33 32 5C 43 4F 4D 4D
00\SYSTEM32\COMM
0CB8:0020 41 4E 44 2E 43 4F 4D 00-46 4C 41 47 44 3D 6E 6F
AND.COM.FLAGD=no
0CB8:0030 00 46 4C 41 47 4D 3D 4F-4B 00 50 41 54 48 3D 43 .FLAGM=OK.PATH=C
0CB8:0040 3A 5C 41 52 43 48 2D 4C-41 42 5C 43 48 4B 3B 43
:\ARCH-LAB\CHK;C
0CB8:0050 3A 5C 41 52 43 48 2D 4C-41 42 5C 42 49 4E 3B 43
:\ARCH-LAB\BIN;C
0CB8:0060 3A 5C 57 49 4E 32 30 30-30 5C 53 59 53 54 45 4D :\WIN2000\SYSTEM
0CB8:0070 33 32 00 50 41 54 48 45-58 54 3D 2E 43 4F 4D 3B
32.PATHEXT=.COM; |
COMSPEC=C:\WIN2000\SYSTEM32\COMMAND.COM
FLAGD=no
FLAGM=OK
PATH=C:\ARCH-LAB\CHK;C:\ARCH-LAB\BIN;C:\WIN2000\SYSTEM32
PATHEXT=.COM; |
|
|
002E
|
39 |
|
Le 39 locazioni successive sono riservate al
Dos, che le utilizza come area di lavoro temporanea. |
|
0055
|
7
|
|
Sono 7 locazioni riservate al
Dos; nella gestione dei files con le (obsolete) strutture File
Control Block sono utilizzate come primo FCB
esteso, e rappresentano l'effettiva prima locazione
di questa struttura. |
|