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

Capitolo 2

Home » Programma il Computer » Tutorial Assembly

Capitolo 2 - Gli strumenti di lavoro

  Gli strumenti di Lavoro

ASSEMBLATORE 9/17 [28 di 87] 

    

    Cosa contiene il file LST? (Analisi della Tavola dei Simboli)
     
bulletLa seconda parte è la Tabella delle Etichette (o Tavola dei Simboli); sulle etichette e sul modo con cui l'assemblatore le trova sappiamo già tutto!
bulletNaturalmente sono etichette (simboli) tutte le parole del codice sorgente diverse dagli mnemonici delle istruzione e dalle parole chiave dell'assemblatore; tra esse il nome dei segmenti, delle variabili e delle procedure (esterne o interne), delle costanti, delle strutture, delle macroistruzioni, e così via.
bulletL'aspetto di questa parte del file listato è mostrato nelle successive tabelle, una ciascuna per i nostri 2 programmi pilota:

      

Microsoft (R) Macro Assembler Version 5.10 8/15/1     Symbols-1

Segments and Groups:
Name                             Length  Align  Combine  Class
_PROG . . . . . . . . . . . . .  010E    BYTE   PUBLIC   'CODE'

Symbols: 
Name                             Type    Value   Attr
INIZIO . . . . . . . . . . . . . L NEAR  0100    _PROG

@CPU . . . . . . . . . . . . . . TEXT    0101h 
@FILENAME  . . . . . . . . . . . TEXT    PROVA 
@VERSION . . . . . . . . . . . . TEXT    510 


12 Source Lines
12 Total Lines
8 Symbols

47172 + 306440 Bytes symbol space free

0 Warning Errors
0 Severe Errors

    

Microsoft (R) Macro Assembler Version 5.10 8/16/1   Symbols-1

Segments and Groups:
Name                             Length  Align  Combine  Class
_PROG . . . . . . . . . . . . .  0119    BYTE   PUBLIC   'CODE'

Name                             Type    Value   Attr
BIOSCLS . . . . . . . . . . . .  L NEAR  0108    _PROG
INIZIO . . . . . . . . . . . . . L NEAR  0100    _PROG
KEYWAIT . . . . . . . . . . . .  L NEAR  0103    _PROG
MAIN . . . . . . . . . . . . . . L NEAR  010F    _PROG

@CPU . . . . . . . . . . . . . . TEXT 0101h 
@FILENAME . . . . . . . . . . .  TEXT prova1 
@VERSION . . . . . . . . . . . . TEXT 510 

21 Source Lines
21 Total Lines
11 Symbols

47154 + 306458 Bytes symbol space free

0 Warning Errors
0 Severe Errors

      

bulletCon riferimento al listato di Prova1, vediamo come vengono definite le diverse categorie:
bullet segmenti e gruppi: nel nostro esempio è definito solo un segmento (quello di codice) di nome (name) _prog, dimensione (length) 0119H =89 bytes, allineamento (align) di tipo byte, rango (combine) Public e classe (class) 'Code' (i dettagli di queste definizioni sono disponibili nella scheda).
bulletsimboli: è la categoria di norma più numerosa; il nostro esempio utilizza solo simboli di tipo (type)  L near; per esempio quello di nome (name) INIZIO ha valore (value) 0100H e attributo (attr) _prog; sembra superfluo sottolineare che il tipo sta ad indicare che cosa rappresenta l'etichetta (in questo caso un indirizzo del codice di tipo near, ma può essere anche byte, numero o altro),  mentre l'attributo rappresenta l'area (il segmento) a cui appartiene. Riportiamo alcuni altri simboli facilmente riscontrabili nei nostri programmi:

    

N a m e               Type    Value Attr
CR . . . . . . . . .  NUMBER  000D 
ESC_ . . . . . . . .  NUMBER  001B 
LF . . . . . . . . .  NUMBER  000A 
ATTRIB . . . . . . .  L BYTE  0103  _PROG Global
NEARCOM . . . . . . . N PROC  011D  _PROG Global Length = 0010

BIOSCLS . . . . . . . L NEAR  0000  External
KEYWAIT . . . . . . . L NEAR  0000  External
RIP_CUR . . . . . . . L NEAR  0000  External
VIA_CUR . . . . . . . L NEAR  0000  External
bulletse il programma sorgente utilizza le macro è presente anche questa categoria; con riferimento ad alcune macro del nostro ambiente, nella tabella figurerà il nome (name) e il numero di linee (istruzioni) (lines) introdotte dalla macroistruzione:

    

Macros Name            Lines
M_CURSOR . . . . . . . 5
M_MSGC . . . . . . . . 6
M_MSGN . . . . . . . . 4
bulletla tabella termina con alcune informazioni formali su:
bullettipo di processore (@CPU) per il quale vale il codice prodotto
bulletnome del file sorgente (@FILENAME)
bulletversione del compilatore (@VERSION) che ha prodotto il codice
bulletnumero di linee di solo codice (Source Lines)
bulletnumero di linee totale (Total Lines)
bulletnumero totale di simboli descritti (Symbols)
bulletquantità di errori di avvertimento (Warning Errors)
bulletquantità di errori gravi (Severe Errors)

    

Pagina Precedente Capitolo 2 Pagina Successiva ASSEMBLATORE 9/17   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
28 di 87
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

    

CAP 2 » 1. Catena di Compilazione 2. Editor 3. Assemblatore 4. Linker 5. Exe2Bin
6.
Ambiente di Lavoro 7. Gestore d'Ambiente Macro 8. Gestore d'Archivi OG
9. Matrici per i Programmi Sorgente 10. Gestore di Librerie Lib 
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