Bài giảng Lập trình hợp ngữ - Chương 3: Chương trình gỡ rối Debug

CHÖÔNG TRÌNH GÔÕ ROÁI DEBUG  
Muïc tieâu  
Dòch ñöôïc 1 chöông trình ngaén  
Xem caùc thanh ghi vaø côø cuûa CPU  
Xem söï thay ñoåi noäi dung cuûa caùc bieán  
1
Chuong 3 Debug  
Daïng leänh cuûa Debug  
<maõ leänh > <thoâng soá>  
Trong ñoù maõ leänh laø 1 trong caùc chöõ A,B,C,D,E, ... coøn thoâng  
soá thì thay ñoåi tuøy theo leänh.  
Caùc thoâng soá coù theå laø :  
Ñòa chæ : laø 1 boä ñòa chæ ñaày ñuû segment : offset hay chæ caàn  
offset laø ñuû. Segment coù theå duøng teân thanh ghi.  
Ex : F000:0100  
DS: 200  
0AF5  
5/8/2022  
2
Chuong 3 Debug  
Daïng leänh cuûa Debug  
Taäp tin : laø 1 tham khaûo teân taäp tin ñaày ñuû, ít nhaát phaûi coù teân  
taäp tin.  
Danh saùch :  
Laø 1 hay nhieàu trò byte hoaëc chuoåi caùch nhau baèng daáu phaåy.  
Khoaûng : laø 1 tham khaûo ñeán vuøng boä nhôù  
Trò : laø 1 soá heä 16 coù toái ña coù 4 chöõ soá  
5/8/2022  
3
Chuong 3 Debug  
Taäp leänh cuûa Debug  
A <Assemble> :  
cho pheùp vieát töø baøn phím caùc leänh maõ maùy  
döôùi daïng gôïi nhôù.  
A [ <ñòa chæ>]  
Ex A 100 dòch ôû ñòa chæ CS:100h  
A  
dòch ôû ñòa chæ hieän taïi  
(Debug laáy ñòa chæ ñoaïn CS)  
A DS:2000h  
dòch ôû ñòa chDS:2000h  
5/8/2022  
4
Chuong 3 Debug  
hí duï minh hoïa leänh A  
Phaûi nhaäp leänh vaøo theo töøng doøng moät vaø  
keát thuùc baèng Enter.  
Keát thuùc nhaäp nhaán Enter ôû doøng troáng.  
Ex A 100  
User goû vaøo  
5514:0100 MOV AH, 2  
5514:0102 MOV DL, 41  
5514:0104 INT 21H  
SEGMENT  
OFFSET  
5/8/2022  
5
Chuong 3 Debug  
C (Compare)  
So saùnh 2 vuøng bonhôvaliekecaùc onhôcoù  
nodung khaùnha.  
Cuù phaùp : C <khoaûng> , < ñòa chæ>  
Ex : - C 100, 200, 3000 : 1000  
So saùnh oâ nhôù DS:100h vôùi oâ nhôù 3000:1000h, oâ nhôù DS:101h vôùi  
oâ nhôù 3000:1001h….. Cho ñeán oâ nhôù DS :200h vôùi oâ nhôù  
3000:1100h.  
➔ So saùnh 101 bytes  
5/8/2022  
6
Chuong 3 Debug  
D (Dump)  
Hieän noäi dung boä nhôù theo daïng heä 16 vaø  
ASCI.  
Caùch goïi : D <khoaûng>  
Ex : - D F000 : 0  
- D ES : 100  
- D 100  
5/8/2022  
7
Chuong 3 Debug  
Leänh F Fill)  
Cuù phaùp : F <khoaûng> <danh saùch>  
Coâng duïng : laáp ñaày trò vaøo vuøng nhôù ngay  
taïi ñòa chæ mong muoán.  
Trò nhaäp vaøo töøng byte moät theo heä 16  
Daáu tröø (-) duøng ñeå luøi laïi 1 ñòa chæ.  
SPACE BAR duøng ñeå tôùi 1 ñòa chæ.  
ENTER ñeå keát thuùc.  
5/8/2022  
8
Chuong 3 Debug  
Minh hoïa leänh F  
Laép ñaày vuøng nhôù taïi ñòa chæ offset 100h  
chuoåi “ Toi dua em sang song”.  
F 100 “TOI DUA EM SANG SONG”  
OFFSET 100H  
5/8/2022  
9
Chuong 3 Debug  
KEÁT QUAÛ  
-F 100 "TOI DUA EM SANG SONG"  
-D 100  
0ADD:0100 54 4F 49 20 44 55 41 20-45 4D 20 53 41 4E 47 20 TOI DUA EM SANG  
0ADD:0110 53 4F 4E 47 54 4F 49 20-44 55 41 20 45 4D 20 53 SONGTOI DUA EM S  
0ADD:0120 41 4E 47 20 53 4F 4E 47-54 4F 49 20 44 55 41 20 ANG SONGTOI DUA  
0ADD:0130 45 4D 20 53 41 4E 47 20-53 4F 4E 47 54 4F 49 20 EM SANG SONGTOI  
0ADD:0140 44 55 41 20 45 4D 20 53-41 4E 47 20 53 4F 4E 47 DUA EM SANG SONG  
0ADD:0150 54 4F 49 20 44 55 41 20-45 4D 20 53 41 4E 47 20 TOI DUA EM SANG  
0ADD:0160 53 4F 4E 47 54 4F 49 20-44 55 41 20 45 4D 20 53 SONGTOI DUA EM S  
0ADD:0170 41 4E 47 20 53 4F 4E 47-54 4F 49 20 44 55 41 20 ANG SONGTOI DUA  
5/8/2022  
10  
Chuong 3 Debug  
 
D (DUMP)  
Muïc ñích : in noäi dung boä nhôù trong MT ra maøn hình döôùi daïng soá hex.  
Cuù phaùp : D [ address]  
D [range]  
Ex : in noäi dung vuøng nhôù ñaõ laép ñaày ôû ví duï tröôùc ôû ñòa chæ  
100h  
Ex2 : xem noäi dung vuøng nhôù 16 bytes baét ñaàu ôû ñòa chæ F000:100  
- D F000:100 L10  
5/8/2022  
11  
Chuong 3 Debug  
Thí duï minh hoïa leänh D  
ñaùnh vaøo leänh D ñexem nodung vuøng nhôù  
cuûa 3h bytes bonhôtöñòa chæ 0000040  
ñeán 00000F  
- D 0000:0040 006F  
Ñòa chæ baét ñaàu  
- D 0000:0040 L 30  
Soá bytes  
5/8/2022  
12  
Chuong 3 Debug  
E (ENTER)  
Duøng ñeå ñöa döõ lieäu byte vaøo boä nhôù ngay  
taïi ñòa chæ mong muoán.  
Caùch goïi :  
- E <ñòa chæ> <danh saùch>  
Trò nhaäp vaøo theo daïng soá 16 töøng byte moät  
Daáu - duøng ñeå luøi laïi 1 ñòa chæ  
Space Bar duøng ñeå tôùi 1 ñòa chæ  
Enter duøng ñeå keát thuùc  
5/8/2022  
13  
Chuong 3 Debug  
Minh hoïa leänh E  
Muïc dích : thay ñoåi noäi dung boä nhôù.  
Cuù phaùp : - E [address] [ list]  
Ex : thay ñoåi 6 bytes baét ñaàu ôû ñòa chæ 100 thaønh “ABCDE”  
- E 100 “ABCDE”  
5/8/2022  
14  
Chuong 3 Debug  
Leänh U (Unassemble)  
coâng duïng : in ra 32 bytes mamaùy cuûa  
chöông trình trong bonhôra maøn hình döôùi  
leänh gônh.  
cuphaùp U [address]  
U [range]  
Ex : U 100 119  
5/8/2022  
15  
Chuong 3 Debug  
Leänh R (Register)  
Coâng duïng xem vasöûa nodung thanh gh.  
Cuphaùp R enter (xem taácathanh ghi)  
xem thanh ghAX : R AX  
xem thanh ghcôR F  
Ex muoán baäthanh ghcôCF vaZF ta nhaäp  
CY vaZ.  
5/8/2022  
16  
Chuong 3 Debug  
Leänh N (Name)  
Coâng duïng : taïo taäp tin caàn ñoïc hay ghi tröôùc  
khi duøng leänh L hay W.  
Cuù phaùp N <teân file> [ thoâng soá] L [ñòa chæ]  
5/8/2022  
17  
Chuong 3 Debug  
Thí duï minh hoïa leänh N  
Ex : taïo taäp tin Love.txt .  
Duøng leänh R ñeå xaùc ñònh vuøng ñòa chæ daønh cho User.  
Duøng leänh ñeå ñöa caâu thoâng baùo “ I love you more than I  
can say’ ôû ñòa chæ 2000:100.  
Duøng leänh D ñeå kieåm tra vuøng nhôù taïi ñòa chæ 2000:100.  
Duøng leänh N ñeå ñaët teân taäp tin treân ñóa.  
- N Love.txt  
Duøng leänh R ñeå ñònh soá byte caàn thieát ghi leân ñóa trong 2  
thanh ghi BX vaø CX. Cuï theå trong tröôøng hôïp naøy soá  
byte caàn ghi laø 1Eh byte.  
BX = 0000 CX = 1E  
Duøng leänh W 2000:100 ñeå ghi döõ lieäu ñaõ nhaäp vaøo taäp tin  
ôû ñòa chæ boä nhôù 2000:100.  
5/8/2022  
18  
Chuong 3 Debug  
Thoaùt khoûi Debug vaø goïi laïi taäp tin theo  
caùch sau :  
C > Debug Love.txt  
tìm xem Debug ñaõ naïp taäp tin Love.txt vaøo  
choã naøo trong boä nhôù.  
5/8/2022  
19  
Chuong 3 Debug  
Leänh W (Write)  
Cuù phaùp : W [address]  
Thöôøng ñöôïc söû duïng chung vôùi leänh N  
Ex : taïo taäp tin coù teân Love.txt  
Böôùc 1 : duøng leänh E ñeå ñöa caâu ‘I love you more than I can say” vaøo oâ nhôù ôû ñòa chæ  
100.  
Böôùc 2 : duøng leänh D ñeå kieåm tra laïi ñòa chæ 100  
Böôùc 3 : duøng leänh N ñeå ñaët teân taäp tin : - N Love.txt  
Böôùc 4 : duøng leänh R ñeå ñònh soá byte caàn ghi leân ñóa trong 2 thanh ghi BX vaø CX. (BX  
chöùa 16 bit cao, CX chöùa 16 bit thaáp).  
Ôû ñaây soá byte caàn ghi laø 1Eh.  
Böôùc 5 : duøng leänh W ñeå ghi caâu treân ñaõ nhaäp vaøo vuøng nhôù coù ñòa chæ baét ñaàu laø 100.  
5/8/2022  
20  
Chuong 3 Debug  
Tải về để xem bản đầy đủ
ppt 30 trang baolam 26200 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hợp ngữ - Chương 3: Chương trình gỡ rối Debug", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptbai_giang_lap_trinh_hop_ngu_chuong_3_chuong_trinh_go_roi_deb.ppt