Scopul lucrarii
Lucrarea urmareste familiarizarea studen?ilor cu mediul de
dezvoltare a programelor scrise in limbaj de asamblare, pus la dispozi?ie
de catre macroasamblorul MASM, versiunea 5.00 (sau TASM, versiunea
3.2). Se prezinta, pe scurt, componentele pachetului de programe MASM
(TASM) ssi procedura generala de lucru cu acesta.
Chestiuni teoretice
Introducere
Pachetul de programe MASM (TASM), pune la dispozi?ia
utilizatorului toate instrumentele necesare pentru dezvoltarea
programelor scrise in limbaj de asamblare. Macroasamblorul MASM
(TASM) produce module obiect relocabile din fissiere sursa scrise in
limbaj de asamblare. In scopul ob?inerii unor programe executabile sub
sistemul de operare DOS, aceste module obiect se pot "lega" intre ele cu
programul LINK (TLINK).
Pachetul de programe MASM (TASM) cuprinde:
- macroasamblorul MASM (TASM);
- generatorul de referin?e incrucissate CREF;
- editorul de legaturi LINK (TLINK);
- bibliotecarul LIB;
- utilitarul MAKE;
- depanatorul simbolic Code View - CV (Turbo Debugger - TD).
Pentru depanare se poate folosi ssi depanatorul standard al
sistemului de operare DOS, DEBUG.
Sunt posibile urmatoarele forme de fissiere executabile:
EXE - Este formatul uzual pentru fissiere executabile sub sistemul
de operare DOS. Programele executabile pastrate in acest format pot
avea segmente multiple. Este formatul recomandat pentru programe de
dimensiuni mari. Extensia implicita a acestor programe este .EXE;
COM - Programele in acest format sunt limitate la un singur
segment, ele nedepassind 64 Ko (exceptand cazurile cand nu se
specifica segmente). Se recomanda pentru programe mici. Un dezavantaj
important il reprezinta faptul ca nu con?in informa?ii despre programul
sursa ssi variabilele simbolice necesare depanatorului simbolic CV;
cod pentru ROM - Asamblorul poate fi utilizat pentru generarea
codului care este inscris in memorii ROM programabile. De obicei acesta
este un format binar;
unita?i de dispozitiv - Controleaza activita?ile de I/E pentru
unita?ile hardware de I/E.
Dezvoltarea programelor in limbaj de asamblare
Pentru a facilita dezvoltarea programelor in limbaj de asamblare,
macroasamblorul MASM (TASM) ofera o serie de pseudoinstruc?iuni
sau directive ssi anume:
1. Directive pentru definirea datelor:
- directive pentru definirea constantelor simbolice: EQU;
- directive pentru definirea variabilelor: DB, DW, DD, RECORD,
STRUC;
- directive pentru definirea etichetelor: LABEL.
2. Directive pentru alocarea memoriei:
- directive pentru modificarea contorului de instruc?iuni: ORG;
- directive pentru definirea segmentelor logice ssi adresabilita?ii
datelor: SEGMENT, ENDS, ASSUME, GROUP;
- directive pentru definirea procedurilor: PROC, ENDP.
3. Directive pentru legarea modulelor de program: NAME, END,
PUBLIC, EXTRN, INCLUDE.
4. Directive pentru controlul listarii: PAGE, TITLE, LIST etc.
5. Directive pentru asamblare conditionata: IFxxxx, ENDIF.
6. Directive pentru definirea macroinstruc?iunilor: MACRO, ENDM.
Definirea ssi utilizarea segmentelor logice
Segmentul logic (numit pe scurt segment) este cea mai mica
unitate relocabila a unui program. Relocabilitatea este proprietatea unui
program obiect de a putea fi linkeditat ssi facut executabil prin plasarea sa
la orice adresa de inceput in memoria principala.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.