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

  Le PseudoOperazioni di MASM

SCHEDA n° 02 [ 22  di 26] 

    

    Opzioni di Allineamento dei Segmenti - BYTE, WORD, PARA, PAGE
     
bulletLe 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.

      

bulletNaturalmente fino a quel momento non è possibile prevedere quale sarà fisicamente questo indirizzo, legato alla prima locazione Ram disponibile.

      

bulletI possibili allineamenti sono BYTE, WORD, PARA (quello di default) e PAGE; nei vari casi, quando sarà il momento, il segmento sarà allocato in memoria:
bulletBYTE: nel primo indirizzo libero: gli altri (eventuali) segmenti sono inseriti in memoria subito prima o subito dopo.
bulletWORD: a partire da un indirizzo multiplo di 2, cioè pari, cioè con bit meno significativo a 0: la distanza dagli altri (eventuali) segmenti è, al massimo di 2 bytes.
bulletPARA: a partire da un indirizzo multiplo di 16, cioè all'inizio del paragrafo  successivo, cioè con il nibble (4 bit) meno significativo a 0: la distanza dagli altri (eventuali) segmenti è, al massimo di 16 bytes. 
bulletPAGE: a partire da un indirizzo multiplo di 256, cioè all'inizio della pagina  successiva, cioè con i 2 bytes meno significativi a 00H: la distanza dagli altri (eventuali) segmenti è, al massimo di 256 bytes.

      

bulletIl 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

    

Pagina Precedente Scheda n° 02 Pagina Successiva Pseudo Operazioni di MASM Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Scheda n° 02 -  22
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

    

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