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

  PSP - Prefisso del Segmento di Programma

SCHEDA n° 05 [ 3  di 5] 

    

    PSP - La parte da non toccare ! [ seconda parte ]
     
bulletAnche la seconda parte delle prime 92 locazioni del PSP (da 0000H a 005BH) non deve in alcun modo essere modificata. Vediamo il significato dei bytes rimanenti:

      

Offset N° bytes°

Descrizione

000A 4
  Contiene l'indirizzo logico originale del gestore delle operazioni di terminazione degli eseguibili, di solito Command.com. Il loader del Dos lo preleva dal vettore INT 22H 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 22H con il valore contenuto in queste locazioni.
 

La lettura di questi bytes in un PSP preso come esempio (4F 03 EB 06) ha dato il valore segmentato: 06EB:034F.

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.

    

Pagina Precedente Scheda n° 05 Pagina Successiva Prefisso di Segmento di Programma Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Scheda n° 05 -  3
1 2 3 4 5

    

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