Mai intai, cum scriem un program in limbaj de asamblare?
Programul se va scrie intr-un fisier text cu extensia asm. Un exemplu minimal: arit1.asm
Pentru "compilare" veti da comenzile
tasm /zi nume
urmata de
tlink /v nume
Important!
Rezultatul celor doua comenzi de mai sus este un program executabil (.exe).
Depanarea programelor scrise in asamblare (si pentru inceput, chiar urmarirea executiei lor) se face cu ajutorul programului Turbo Debugger. Comanda este:
td nume
Urmarirea programului cu Turbo Debugger se va face in fereastra CPU (se deschide din meniul View|CPU). Aici avem
Putem pozitiona zona vizibila din program, zona de date si stiva folosind comanda Go to din meniul local al ferestrei (meniul activat cu Alt-F10).
De asemenea, putem afla sau modifica valoarea unei variabile, folosind fereastra de dialog Evaluate/Modify (deschisa cu Ctrl-F4)
1. Generati program executabil din sursa prezentata in aceasta pagina
2. Urmariti pas cu pas executia programului (in Turbo Debugger). Urmariti continutul registrelor ax si ip in acest timp.
3. Tot in executia pas cu pas a programului, urmariti continutul segmentului de date. Pentru aceasta, activati (cu Shift-sageata jos) zona de date a ferestrei CPU, activatati meniul local (Alt-F10) si dati comanda Go to. In fereastra ce se deschide, dati ds:0. Urmariti primii octeti din segmentul de date pe parcursul executiei programului.
4. Pozitionati afisarea zonei de date pe cs:0 Comparati cu ceea ce se afiseaza in zona de cod.
5. Modificati programul in asa fel incat variabilele sa fie reprezentate pe 16 biti si initializati-le cu valori mai mari (de ordinul 1000). Repetati exercitiile 1-4.
6. Acelasi lucru acum (exercitiile 1-4) pentru programul arit2.asm. Ce greseala observati? Corectati-o.