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 [ 09  di 26] 

    

    Gestione dei Dati - dove e come definire i dati
     
bulletTra le più importanti pseudoOperazioni, indispensabili nella normale programmazione, ci sono quelle che aiutano a definire i dati di un programma; in quelli di grande dimensione (tipo Exe) viene definito per essi un apposito segmento (Data Segment), mentre in quelli intrasegmentali (tipo Com) i dati sono inseriti tra le istruzioni del codice eseguibile.

      

bulletUn acuto osservatore potrebbe subito sottolineare che la presenza di dati tra il codice eseguibile potrebbe indurre il processore ad eseguire anche i bytes dei primi, non certo differenti da quelli del secondo; di fatto il rischio è reale per cui di solito si adotta la seguente tecnica indiscutibile.

      

bulletL'etica del programmatore suggerisce di inserire i dati (bytes non eseguibili) tra un JMP Main e l'etichetta Main:, a partire dalla quale si snocciola tutta la sequenza dei bytes eseguibili, associati alle effettive istruzioni (naturalmente l'etichetta Main è solo un esempio).

      

bulletOgni sorgente per programma di tipo Com usa questa tecnica; eccone un esempio:

      

page 66,132
        PUBLIC ATTRIB 
_prog   SEGMENT BYTE PUBLIC 'CODE'
        ASSUME CS:_prog,DS:_prog
        ORG    0100H
INIZIO: JMP    Main
--------[zona dei Dati]---------------
ATTRIB  DB     0FH ;numero esadecimale  
testo   DB     'Esempio di testo', 00H  

--------------------------------------
Main:   LEA    SI,testo
        MOV    AL,CS:[ATTRIB]
        MOV    AH,4CH
        INT    21H
_prog    ENDS
         END    INIZIO

      

bulletEntriamo ora nel merito: i dati di un programma si possono catalogare per dimensione e per tipo; spesso (ma non sempre) ad essi è associata una etichetta, con lo scopo di associare un nome al dato stesso.

      

Ricorda... L'etichetta di un dato rappresenta l'indirizzo della locazione (variabile) che lo contiene (se il dato è a 8bit) o della locazione che contiene il meno significativo dei suoi bytes (se il dato è più grande)

      

Suggerimento Non dimenticare che la memoria viene gestita un byte alla volta, per cui un dato a sedici bit viene memorizzato sempre con la tecnica Lo-Hi, cioè prima il byte meno significativo (Low) e poi quello più significativo (High).

      

bulletLa dimensione dei dati è prefissata proprio dalle possibili pseudoOperazioni; nell'ambito di ciascuna di esse è poi possibile distinguere diversi tipi di dato. Gli esempi che seguono sono certamente più chiari di ogni parola.

      

Suggerimento Se puoi segui con attenzione gli esempi proposti: sono molto utili per imparare a programmare in scioltezza; l'ideale è provare a scrivere e compilare dei finti programmi per vedere (con Debug) cosa viene caricato in memoria.

    

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 -  09
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