 | localizza il più grande blocco di memoria
libero in
memoria Ram, di dimensioni almeno 258 bytes più grandi della dimensione
del file COM. |
 | crea nelle prime 256 locazioni un Prefisso di Segmento di
programma (PSP). |
 | copia tutto il contenuto del file COM
subito dopo il PSP. |
 | carica il valore del segmento associato
all'area di memoria prescelta in tutti e 4 i registri di segmento DS,
PSP;
i 4 segmenti sono dunque fisicamente sovrapposti. |
 | carica il registro SP
con il valore FFFEH,
in modo da puntare il penultimo byte del segmento. |
 | carica negli ultimi 2 bytes del segmento
il valore 0000H; si tratta di una contorta
azione di sicurezza: poiché il puntatore di stack sta puntando proprio
questi 2 bytes un'eventuale esecuzione dell'istruzione
RET, mentre il
programma sta girando, forza questo valore nell'Instruction Pointer, IP,
obbligandolo ad eseguire l'istruzione INT 20H, che chiude la sessione
Dos. Ulteriori dettagli sono disponibili nella descrizione della
prima voce del PSP. |
 | carica il registro IP
con il valore 0100H, tipico entry-point dei
programmi COM |
 | quando tutto questo è stato portato a
termine cede il controllo al codice macchina del file COM e il programma
comincia a girare in memoria... |