Tài liệu Lập trình hợp ngữ - Chương trình gỡ rối Debug: CHƯƠNG TRÌNH GỠ RỐI DEBUG
Dịch được 1 chương trình ngắn
5/14/2009 Chuong 3 Debug 1
Mục tiêu
Xem các thanh ghi và cờ của CPU
Xem sự thay đổi nội dung của các biến
Create PDF files without this message by purchasing novaPDF printer (
Dạng lệnh của Debug
•
5/14/2009 Chuong 3 Debug 2
Trong đó mã lệnh là 1 trong các chữ A,B,C,D,E, ... còn thông
số thì thay đổi tùy theo lệnh.
Các thông số có thể là :
Địa chỉ : là 1 bộ địa chỉ đầy đủ segment : offset hay chỉ cần
offset là đủ. Segment có thể dùng tên thanh ghi.
Ex : F000:0100
DS: 200
0AF5
Create PDF files without this message by purchasing novaPDF printer (
Dạng lệnh của Debug
5/14/2009 Chuong 3 Debug 3
Tập tin : là 1 tham khảo tên tập tin đầy đủ, ít nhất phải có tên
tập tin.
Danh sách :
Là 1 hay nhiều trị byte hoặc chuổi cách nhau bằng dấu phẩy.
Khoảng : là 1 tham khảo đến vùng bộ nhớ
Trị : là 1 số hệ 16 có tối đa có 4 chữ số
Creat...
30 trang |
Chia sẻ: hunglv | Lượt xem: 1585 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Lập trình hợp ngữ - Chương trình gỡ rối Debug, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHÖÔNG TRÌNH GÔÕ ROÁI DEBUG
Dòch ñöôïc 1 chöông trình ngaén
5/14/2009 Chuong 3 Debug 1
Muïc tieâu
Xem caùc thanh ghi vaø côø cuûa CPU
Xem söï thay ñoåi noäi dung cuûa caùc bieán
Create PDF files without this message by purchasing novaPDF printer (
Daïng leänh cuûa Debug
•
5/14/2009 Chuong 3 Debug 2
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
Create PDF files without this message by purchasing novaPDF printer (
Dạng lệnh của Debug
5/14/2009 Chuong 3 Debug 3
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á
Create PDF files without this message by purchasing novaPDF printer (
Taäp leänh cuûa Debug
• A :
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 [ ]
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 chæ DS:2000h
5/14/2009 Chuong 3 Debug 4
Create PDF files without this message by purchasing novaPDF printer (
Thí 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
5514:0100 MOV AH, 2
5514:0102 MOV DL, 41
5514:0104 INT 21H
5/14/2009 Chuong 3 Debug 5
SEGMENT OFFSET
User goû vaøo
Create PDF files without this message by purchasing novaPDF printer (
C (Compare)
• So saùnh 2 vuøng boä nhôù vaø lieät keâ caùc oâ nhôù coù
noäi dung khaùc nhau.
5/14/2009 Chuong 3 Debug 6
Cuù phaùp : C ,
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
Create PDF files without this message by purchasing novaPDF printer (
D (Dump)
• Hieän noäi dung boä nhôù theo daïng heä 16 vaø
ASCII.
5/14/2009 Chuong 3 Debug 7
Caùch goïi : D
Ex : - D F000 : 0
- D ES : 100
- D 100
Create PDF files without this message by purchasing novaPDF printer (
Leänh F (Fill)
• Cuù phaùp : F
• Coâng duïng : laáp ñaày trò vaøo vuøng nhôù ngay
taïi ñòa chæ mong muoán.
5/14/2009 Chuong 3 Debug 8
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.
Create PDF files without this message by purchasing novaPDF printer (
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”.
5/14/2009 Chuong 3 Debug 9
F 100 “TOI DUA EM SANG SONG”
OFFSET 100H
Create PDF files without this message by purchasing novaPDF printer (
KEÁT QUAÛ
5/14/2009 Chuong 3 Debug 10
-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
Create PDF files without this message by purchasing novaPDF printer (
D (DUMP)
5/14/2009 Chuong 3 Debug 11
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
Create PDF files without this message by purchasing novaPDF printer (
Thí duï minh hoïa leänh D
• ñaùnh vaøo leänh D ñeå xem noäi dung vuøng nhôù
cuûa 30h bytes boä nhôù töø ñòa chæ 0000:0040
ñeán 0000:006F
5/14/2009 Chuong 3 Debug 12
- D 0000:0040 006F
Ñòa chæ baét ñaàu
- D 0000:0040 L 30
Soá bytes
Create PDF files without this message by purchasing novaPDF printer (
E (ENTER)
• Duøng ñeå ñöa döõ lieäu byte vaøo boä nhôù ngay
taïi ñòa chæ mong muoán.
5/14/2009 Chuong 3 Debug 13
Caùch goïi :
- E
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
Create PDF files without this message by purchasing novaPDF printer (
Minh hoïa leänh E
• Muïc dích : thay ñoåi noäi dung boä nhôù.
5/14/2009 Chuong 3 Debug 14
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”
Create PDF files without this message by purchasing novaPDF printer (
Leänh U (Unassemble)
• coâng duïng : in ra 32 bytes maõ maùy cuûa
chöông trình trong boä nhôù ra maøn hình döôùi
leänh gôïi nhôù.
• cuù phaùp : U [address]
U [range]
5/14/2009 Chuong 3 Debug 15
Ex : U 100 119
Create PDF files without this message by purchasing novaPDF printer (
Leänh R (Register)
• Coâng duïng : xem vaø söûa noäi dung thanh ghi.
• Cuù phaùp : - R enter (xem taát caû thanh ghi)
xem thanh ghi AX : - R AX
xem thanh ghi côø : R F
Ex : muoán baät thanh ghi côø CF vaø ZF ta nhaäp
CY vaø ZR.
5/14/2009 Chuong 3 Debug 16
Create PDF files without this message by purchasing novaPDF printer (
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 [ thoâng soá] L [ñòa chæ]
5/14/2009 Chuong 3 Debug 17
Create PDF files without this message by purchasing novaPDF printer (
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/14/2009 Chuong 3 Debug 18
Create PDF files without this message by purchasing novaPDF printer (
• 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/14/2009 Chuong 3 Debug 19
Create PDF files without this message by purchasing novaPDF printer (
Leänh W (Write)
• Cuù phaùp : W [address]
5/14/2009 Chuong 3 Debug 20
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.
Create PDF files without this message by purchasing novaPDF printer (
Leänh T (Trace)vaø P
• cuù phaùp : - T [= ][soá laàn]
5/14/2009 Chuong 3 Debug 21
Muïc ñích : duøng ñeå chaïy 1 hay nhieàu laàn caùc leänh
trong boä nhôù
Ex : - T = 3000:1000
Ex : - T = 3000:1000
Create PDF files without this message by purchasing novaPDF printer (
Leänh L (Load)
• naïp taäp tin hoaëc naïp sector luaän
lyù töø ñóa vaøo boä nhôù.
5/14/2009 Chuong 3 Debug 22
Cuù phaùp : - L [ ]
Daïng 1 : neáu chæ coù ñòa chæ duøng ñeå naïp taäp tin.
Teân taäp tin phaûi ñöôïc gaùn tröôùc baèng leänh N.
Taäp tin luoân luoân ñöôïc gaùn ôû ñòa chæ offset 100h
Daïng 2 : neáu coù ñaày ñuû caùc thoâng soá , duøng ñeå ñoïc sector
luaän lyù treân ñóa vaøo boä nhôù.
Ñóa : = 0 oå ñóa A, =1 oå ñóa B, =2 oå ñóa C ….
Create PDF files without this message by purchasing novaPDF printer (
Leänh H (Hex Arithmethic)
• thöïc hieän pheùp coäng vaø tröø heä 16
5/14/2009 Chuong 3 Debug 23
Cuù phaùp : - H
Keát quaû : hieän ra toång vaø hieäu cuûa trò 1 vaø trò 2
Create PDF files without this message by purchasing novaPDF printer (
Leänh S (Search)
• Coâng duïng : tìm kieám trò trong 1 vuøng boä nhôù.
• Cuù phaùp : - S
• Giaûi thích : tìm kieám trò coù hieän dieän trong vuøng boä
nhôù ñaõ chæ ñònh hay khoâng? Neáu coù Debug hieän caùc
ñòa chæ ñaàu cuûa nhöõng nôi coù chöùa danh saùch.
Ex : - S 100 L 1000 ‘DOS’
18AF : 0154
18AF : 0823
Ex2 : - S 2000 2200 13,15,8A, 8
5/14/2009 Chuong 3 Debug 24
Create PDF files without this message by purchasing novaPDF printer (
Leänh M (Move)
• Coâng duïng : cheùp noäi dung vuøng nhôù ñeán 1
ñòa chæ khaùc.
• Cuù phaùp : - M
• Ex : - M 100 105 200
Cheùp 5 bytes töø DS:100 ñeán DS:200
5/14/2009 Chuong 3 Debug 25
Ex2 : - M CS:100 L 50 ES:300
Cheùp 50 bytes töø CS:100 ñeán ES:300
Create PDF files without this message by purchasing novaPDF printer (
Leänh I (Input)
• Coâng duïng : nhaäp 1 byte töø coång xuaát nhaäp
vaø hieän ra maøn hình.
• Cuù phaùp : - I
ñòa chæ coång laø soá heä 16 toái ña 4 chöõ soá.
• Ex : - I 37E
EC
5/14/2009 Chuong 3 Debug 26
Create PDF files without this message by purchasing novaPDF printer (
Leänh O (Output)
• Coâng duïng : xuaát 1 byte ra coång xuaát nhaäp.
• Cuù phaùp :- O
ñòa chæ coång laø soá heä 16 toái ña 4 chöõ soá.
• Ex : - O 378 5E
5/14/2009 Chuong 3 Debug 27
Create PDF files without this message by purchasing novaPDF printer (
Summary
• Duøng leänh D ñeå xem noäi dung vuøng nhôù taïi ñòa chæ cuûa
ROM BIOS F000:0000.
• Töông töï xem noäi dung vuøng nhôù RAM maøn hình ôû ñòa
chæ B800:0000; baûng vector ngaét quaõng 0000:0000
• Goû vaøo maùy baèng leänh A, ñoaïn chöông trình sau ôû ñòa
chæ 2000:0100
5/14/2009 Chuong 3 Debug 28
Create PDF files without this message by purchasing novaPDF printer (
Summary
2000:0100 MOV AL,32
2000:0102 MOV AH, 4F
2000:0104 MOV CX, [200]
2000:0108 MOV WORD PTR [1800], 1
2000:010E MOV BYTE PTR [1800], 1
2000:0113
Xem laïi ñoaïn chöông trình vöøa ñaùnh treân baèng leänh U. Chuù yù quan
saùt phaàn maõ maùy. Tìm xem caùc toaùn haïng töùc thôøi vaø caùc ñòa
chæ xuaát hieän ôû ñaâu trong phaàn maõ maùy cuûa leänh.
Phaàn maõ maùy cuûa 2 caâu leänh cuoái coù gì khaùc nhaukhi duøng caùc
toaùn töû WORD PTR vaø BYTE PTR.
5/14/2009 Chuong 3 Debug 29
Create PDF files without this message by purchasing novaPDF printer (
Summary
• Duøng leänh E nhaäp vaøo ñoaïn vaên baûn sau vaøo boä nhôù taïi ñòa chæ
DS:0100
8086/8088/80286 Assembly language.
Copyright 1988, 1886 by Brady Books, a division of Simon, Inc.
All right reserved, including the of reproduction in whole or in
part, in any form.
(chuù yù kyù töï ñaàu doøng xuoáng doøng coù maõ ASCCI laø 0D vaø 0A).
5/14/2009 Chuong 3 Debug 30
Create PDF files without this message by purchasing novaPDF printer (
Các file đính kèm theo tài liệu này:
- Hợp ngữ ASM-Chương 03- Debug.pdf