Lucrarea de laborator nr.1
Utilizarea macroasamblorului TASM şi a depanatorului TD
Etapele dezvoltării unui program în limbajul de asamblare sunt următoarele:
1. Editarea
2. Asamblarea
3. Linkeditarea
4. Rularea şi eventuala depanare
Programul în limbaj de asamblare este scris mai întâi cu un editor de text oarecare, constituind aşa-numitul program sursă. El trebuie să respecte două categorii de reguli:
• Reguli specifice setului de instrucţiuni ale procesorului pentru care este scris. Aceste reguli cuprind scrierea corectă a mnemonicelor instrucţiunilor, a operanzilor, diverse prefixe şi notaţii suplimentare, toate fiind precizate în documentaţia referitoare la procesorul respectiv.
• Reguli specifice programului asamblor cu care se lucrează. Aceste reguli se referă la declaraţii, etichete, directive de asamblare, pseudoinstrucţiuni, eventual macroinstrucţiuni, etc. Ele sunt precizate în documentaţia aferentă mediului de asamblare.
După scrierea programului sursă, el este incărcat în asamblor care îl transforma în final în program obiect. În plus, din procesul de asamblare se pot obţine şi alte fişiere, care permit vizualizarea programului, a simbolurilor folosite, etc.
Programul obiect este la rândul său preluat de linkeditor, fiind transformat într-un fişier executabil - programul final.
Programul executabil obţinut este testat în diverse moduri, iar în caz de funcţionare necorespunzătoare din cauze care nu sunt evidente, se încarcă într-un program depanator (debugger). Acesta permite rularea pas cu pas a zonelor neclare din funcţionarea programului, cu afişarea continuă a conţinutului registrelor şi memoriei, permiţând astfel localizarea problemelor. După clarificarea lor, este modificat corespunzător programul sursă, şi procesul se reia.
1.1 Utilizarea TASM şi TD în forma clasică (linie de comandă, DOS)
Implementarea firmei Borland pentru limbajul de asamblare cuprinde în principal trei aplicaţii, care vor fi utilizate în ordinea menţionării lor:
• TASM.EXE- asamblorul (Turbo Assembler)
• TLINK.EXE - linkeditorul (Turbo Linker)
• TD - depanatorul de program (Turbo Debugger)
Evident, în prealabil trebuie scris (editat) programul sursă, cu ajutorul unui editor (acesta nefiind inclus în pachetul de la Borland).
Într-o fereastra DOS din sistemul de operare Windows (obţinută în Windows XP din meniul Start-> Programs->Accessories->Command Prompt), comanda de scriere a programului sursă poate fi de exemplu cea de apelare a aplicaţiei Wordpad a sistemului:
write
În cazul în care se începe un program nou, ce urmează apoi să fie salvat sub un nume propriu (obligatoriu cu extensia .asm), sau
write caleNume_Sursă
în cazul în care fişierul sursă există deja şi urmează a fi editat.
Se poate folosi de asemenea aplicaţia NOTEPAD.EXE, având avantajul că poate să afişeze în bara de stare (jos) numărul liniei pe care se află cursorul, lucru util pentru identificarea liniei la care asamblorul găseşte o eroare. Pentru aceasta va trebui bifată în meniul View opţiunea Status Bar.
După salvarea fişierului sursă el va fi chemat de asamblor cu comanda:
Tasm Nume_sursă, Nume_obiect, Nume_listing
unde:
• Nume_sursă este numele ales pentru fişierul sursă editat anterior;
• Nume_obiect este numele sub care va apare fişierul obiect ce va fi transformat în fişier executabil;
• Nume_listing este numele unui fişier opţional care conţine o varianta cu informaţii rezultate din asamblare a fişierului sursă (listing), util pentru o analiza vizuală.
Această linie de comandă admite şi anumite opţiuni, vizibile dacă se dă comanda Tasm fără parametri într-o fereastră DOS. De exemplu, comanda:
Tasm.exe/zi Nume_sursă, Nume_obiect, Nume_listing/l
va genera informaţie completă pentru depanare (/zi) şi fişier listing normal (/l).
În cazul în care nu există erori de sintaxa (sunt respectate cele două categorii de reguli menţionate) se obţine un mesaj favorabil (ca în figura 1), iar fişierul obiect poate fi prelucrat mai departe.
Figura 1.1 - Exemplu de asamblare fără erori
În cazul în care apar erori, se reia editarea fişierului sursă, corectându-se erorile şi se face din nou asamblarea.
Dacă în caseta de asamblare există linia Error messages: None, se poate trece la linkeditare, folosindu-se comanda:
Tlink Nume_obiect, Nume_exefile
unde Nume_obiect este numele folosit în comanda precedenta (de asamblarere) pentru fişierul obiect, iar Nume_exefile este numele ce se alege pentru fişierul executabil. Se pot folosi şi aici opţiuni de linkeditare, care pot fi văzute rulând comanda Tlink fără parametri într-o fereastra DOS. De exemplu, comanda
Tlink /v Nume_obiect, Nume_exefile
va genera informaţii simbolice complete pentru depanare.
În continuare, se poate rula programul executabil obţinut pentru a fi testat (într-o fereastra DOS) sau se poate încarca în depanator (de exemplu Turbo Debugger) pentru a fi rulat pas cu pas. În acest caz, comanda va fi:
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.