Scopul lucrarii
Lucrarea urmaresste familiarizarea studen?ilor cu facilita?ile oferite de
programul de testare ssi depanare a programelor, in format .EXE sau .COM,
oferit de DOS ssi denumit DEBUG.
Programul DEBUG permite depistarea erorilor ssi eliminarea acestora
din fissierele obiect executabile. DEBUG elimina necesitatea reasamblarii
unui program pentru a vedea efectul unor modificari minore in cadrul
acestuia. El permite modificarea con?inutului unui fissier sau a con?inutului
registrelor interne ale UCP ssi reexecutarea imediata a programului pentru a
verifica efectul schimbarilor facute.
Toate comenzile DEBUG pot fi abandonate in orice moment tastand
Ctrl+C. Secven?a Ctrl+S suspenda afissarea, permi?and analiza valorilor
afissate. Apasarea oricarei taste diferite de Ctrl+C sau Ctrl+S repornesste
afissarea.
1. Lansarea in execu?ie a programului DEBUG
Pentru a lansa in executie programul DEBUG, din DOS, se tasteaza:
DEBUG [ [unitate: ] [cale ] nume-fisier [parametrii ] ]
Daca nu se introduce nume-fisier , se poate lucra fie cu continutul
memoriei curente, fie se incarca un fisier in memorie utilizind comenzile N
(Name) si L (Load). Optional, numele fisierului poate fi insotit de o serie de
parametri ce vor fi transferati programului incarcat de pe disc (necesari
pentru fisierul ce urmeaza a fi testat).
Observatie: Nu este indicat sa se relanseze in executie un program
dupa ce mesajul urmator este afisat: "Program terminated normally". Este
necesara reincarcarea programului cu comenzile N si L pentru rularea
corespunzatoare a acestuia.
La lansarea programului DEBUG, registrele si indicatorii pentru
programul care se depaneaza sunt initializate cu urmatoarele valori:
- registrele segment ( CS:, DS:, ES: si SS: ) sunt pozitionate la
inceputul memorei libere; adica primul segment dupa sfirsitul programului
DEBUG.
- registrul pointer de instructiuni (IP) este pozitionat la adresa
hexazecimala 0100H.
- registrul SP este pozitionat la sfirsitul segmentului de stiva sau la
inceputul portiunii tranzitorii a programului incarcat.
- restul registrelor (AX, BX, CX, DX, BP, SI si DI ) sunt initializate
cu 0. Daca se apeleaza totusi programul DEBUG cu un specificator de
fisier, registrul CX contine lungimea fisierului, in octeti. Daca fisierul este
mai mare de 64K, lungimea este continuta in registrele BX : CX.
- indicatorii sunt stersi.
2. Comenzile DEBUG
Urmatoarele informatii se aplica tuturor comenzilor DEBUG :
- o comanda este compusa dintr-o singura litera, in mod uzual urmata
de unul sau mai multi parametri.
- comenzile si parametrii pot fi introduse cu litere mari, cu litere mici
sau cu combinatii ale acestora.
- comenzile si parametrii pot fi separati cu delimitatori. Acestia sunt
obligatorii numai intre doua valori hexazecimale consecutive. Astfel
urmatoarele comenzi sunt echivalente:
- dcs:100 110
- d cs:100 110
- d,cs:100,110
- pentru a termina o comanda se tasteaza CTRL-BREAK.
- comenzile sunt efective numai dupa actionarea tastei ENTER.
- in timpul programului DEBUG se pot utiliza functiile de editare
linie din DOS.
In continuare se prezinta lista comenzilor DEBUG:
A [adresa] - Asamblarea unei secvente de instructiuni;
C interval adresa - Compararea a doua zone de memorie;
Testarea si depanarea programelor utilizand programul DEBUG
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.