Documente Academic
Documente Profesional
Documente Cultură
de asamblare – laborator 7
Turbo Debugger
:err
echo Assembler error!
:quit
del %1.MAP >NUL
del %1.OBJ >NUL
Pentru a observa diferența vom folosi cel mai simplu program pe care îl avem deja,
acela stil Hello World. Rulăm assembler-ul pe el fără opțiuni de depanare, apoi TD HELLO.
Program has no symbol table. Adică nu avem informații de depanare. Turbo Debugger
ne afișează o fereastră CPU unde vedem codul mașină, regiștrii, flagurile și o porțiune din
segmentele de date și stivă (DS și SS), dar nici un simbol care să ne arate ceva despre codul
sursă. La un program gen Hello asta nu este așa o problemă fiindcă este extrem de simplu, dar
la programe mai complexe este.
Alt-X este comanda de ieșire din TD. Mai reținem și Ctrl-F10, de fapt o comandă a
DOSBox pentru a elibera mouse-ul dacă a fost capturat. Dacă folosim opțiunile pentru
informații de depanare și lansăm din nou TD HELLO obținem:
Meniul se deschide cu mouse-ul sau F10. Putem vedea fereastra CPU dacă alegem asta
din meniul View.
Observăm că simboluri din codul sursă apar acum și în fereastra CPU. Se poate folosi
mouse pentru a deschide context menu, de ex. în partea de jos pentru a modifica locația de
memorie afișată. F5 face zoom (maximize) pe fereastra curentă, Alt-N (N=1, 2 ...) schimbă
fereastra curentă, F2 stabilește sau șterge un breakpoint, F4 rulează până la cursor, F7 rulează
o instrucțiune intrând în subrutine (dacă instrucțiunea este CALL va merge în subrutină), F8
rulează o instrucțiune sărind peste subrutine, F9 merge în continuare până la un eventual
breakpoint, F10 deschide meniul. Alt-F5 comută pe user screen și înapoi, adică arată consola
cum ar fi dacă n-ar rula sub debugger.
Navigând prin meniuri putem observa și comenzile de tastatură pentru diverse acțiuni.
În caz de rulare neîntreruptă sau prin F7/F8 pe ultimul int 21h se va afișa codul de ieșire al
programului.
Exerciții: rulați pas cu pas mai multe programe deja existente folosind în special
fereastra CPU.