Sezione |
Indirizzi Base
Registri Interni
|
Schede del Tutorial |
Le PseudoOperazioni di MASM |
SCHEDA n° 02 [ 22 di 26] |
|
|
Le opzioni di allineamento indicano all'assemblatore a quale indirizzo di offset dovrà essere collocato il primo bytes del segmento a cui la direttiva si riferisce; questa indicazione verrà codificata dal linker dentro l'header del programma EXE, da lui prodotto, per poi passarla al loader del Dos, cui spetta l'effettivo caricamento del programma in memoria. |
|
Naturalmente fino a quel momento non è possibile prevedere quale sarà fisicamente questo indirizzo, legato alla prima locazione Ram disponibile. |
|
I possibili allineamenti sono BYTE,
WORD, PARA
(quello di default) e PAGE;
nei vari casi, quando sarà il momento, il segmento sarà allocato in memoria:
|
|
Il linker crea (oltre all'EXE) il file MAP, con il resoconto della situazione relativa in memoria di ciascun segmento in termini di quantità di bytes occupati (Length) e di locazione iniziale (Start) e finale (Stop); la sua osservazione può aiutarci a capire il significato delle scelte di allineamento fatte |
|
STACK SEGMENT BYTE
STACK 'STACK' dataSG SEGMENT BYTE PUBLIC 'DATA' _prog SEGMENT BYTE PUBLIC 'CODE' |
Start Stop Length
Name Class 00000H 0009FH 000A0H STACK STACK 000A0H 000B1H 00012H DATASG DATA 000B2H 000FBH 0004AH _PROG CODE |
|
STACK SEGMENT WORD STACK
'STACK' dataSG SEGMENT WORD PUBLIC 'DATA' _prog SEGMENT WORD PUBLIC 'CODE' |
Start Stop Length Name
Class 00000H 0009FH 000A0H STACK STACK 000A0H 000B1H 00012H DATASG DATA 000B2H 000FBH 0004AH _PROG CODE |
|
STACK SEGMENT PARA STACK 'STACK' dataSG SEGMENT PARA PUBLIC 'DATA' _prog SEGMENT PARA PUBLIC 'CODE' |
Start Stop Length Name Class 00000H 0009FH 000A0H STACK STACK 000A0H 000B1H 00012H DATASG DATA 000C0H 00109H 0004AH _PROG CODE |
|
STACK SEGMENT PAGE STACK
'STACK' dataSG SEGMENT PAGE PUBLIC 'DATA' _prog SEGMENT PAGE PUBLIC 'CODE' |
Start Stop Length Name Class 00000H 0009FH 000A0H STACK STACK 00100H 00111H 00012H DATASG DATA 00200H 00249H 0004AH _PROG CODE |
|
Scheda n° 02 | Pseudo Operazioni di MASM | |||||||
Scheda n° 02 - 22 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|