Tải bản đầy đủ (.pdf) (30 trang)

CẤU TRÚC MÁY TÍNH LẬP TRÌNH HỢP NGỮ_CHƯƠNG 3 ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.78 MB, 30 trang )

22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
1
1
CH
CH


ễNG TRèNH Gễế RO
ễNG TRèNH Gễế RO


I DEBUG
I DEBUG
Dũch
Dũch
ủử
ủử


ù
ù
c 1 ch
c 1 ch


ụng tr
ụng tr



nh nga
nh nga


n
n
Muùc tieõu
Xem ca
Xem ca


c thanh ghi va
c thanh ghi va


cụ
cụ


cu
cu


a CPU
a CPU
Xem s
Xem s
ửù
ửù

thay
thay


o
o


i no
i no


i dung cu
i dung cu


a ca
a ca


c bie
c bie


n
n
D
o
D
o



t
t


m
t
r
ũ

m
t
r
ũ



d
a
d
a
ù
ù
n
g
n
h
ũ
p

h
a
õ
n
h
o
a
n
g
n
h
ũ
p
h
a
õ
n
h
o
a


c
A
S
C
II
t
r
o

n
g
b
o
c
A
S
C
II
t
r
o
n
g
b
o


n
h

n
h



H
o
ó
H

o
ó
t
r

ù
l
u
y
e

n
t
a

p
v
i
e

t
c
h


n
g
t
r


n
h
b
a

n
g
A
s
s
e
m
b
l
y
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
2
2
Da
Da
ï
ï
ng le
ng le
ä
ä
nh cu

nh cu
û
û
a Debug
a Debug
<mã le
<mã le
ä
ä
nh > <thông so
nh > <thông so
á
á
>
>
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
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
3
3
Da

Da
ï
ï
ng
ng
le
le
ä
ä
nh cu
nh cu
û
û
a Debug
a Debug
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ố
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
4
4
Ta
Ta



p le
p le


nh cu
nh cu


a Debug
a Debug
A <Assemble> :
A <Assemble> :
cho phe
cho phe


p vie
p vie


t t
t t
ửứ
ửứ
ba
ba


n ph

n ph


m ca
m ca


c le
c le


nh maừ ma
nh maừ ma


y
y
d
d






i da
i da
ù
ù
ng gụ

ng gụ
ù
ù
i nhụ
i nhụ


.
.
A [ <
A [ <


ũa ch
ũa ch


>]
>]
Ex :
Ex :
-
-
A 100 dũch ụ
A 100 dũch ụ




ũa ch

ũa ch


CS:100h
CS:100h
-
-
A
A
dũch ụ
dũch ụ




ũa ch
ũa ch


hie
hie


n ta
n ta
ù
ù
i
i
(Debug la

(Debug la


y
y


ũa ch
ũa ch




oa
oa
ù
ù
n CS)
n CS)
-
-
A DS:2000h
A DS:2000h
dũch ụ
dũch ụ




ũa ch

ũa ch


DS:2000h
DS:2000h
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
5
5
T
T
h
h


du
du
ù
ù
minh ho
minh ho
ù
ù
a le
a le


nh A

nh A
Pha
Pha


i nha
i nha


p le
p le


nh va
nh va


o theo t
o theo t
ửứ
ửứ
ng do
ng do


ng mo
ng mo


t va

t va


ke
ke


t thu
t thu


c ba
c ba


ng Enter.
ng Enter.
Ke
Ke


t thu
t thu


c nha
c nha


p nha

p nha


n Enter ụ
n Enter ụ


do
do


ng tro
ng tro


ng.
ng.
Ex :
Ex :
-
-
A 100
A 100
5514:0100 MOV AH, 2
5514:0100 MOV AH, 2
5514:0102 MOV DL, 41
5514:0102 MOV DL, 41
5514:0104 INT 21H
5514:0104 INT 21H
SEGMENT OFFSET

User goỷ vaứo
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
6
6
C (Compare)
C (Compare)
So sa
So sa
ù
ù
nh 2 vu
nh 2 vu
ø
ø
ng bo
ng bo
ä
ä
nhơ
nhơ
ù
ù
va
va
ø
ø
lie

lie
ä
ä
t kê ca
t kê ca
ù
ù
c ô nhơ
c ô nhơ
ù
ù
co
co
ù
ù
no
no
ä
ä
i dung kha
i dung kha
ù
ù
c nhau.
c nhau.
Cú pháp : C <khoảng> , < đòa chỉ>
Ex : - C 100, 200, 3000 : 1000
So sánh ô nhớ DS:100h với ô nhớ 3000:1000h, ô nhớ DS:101h với
ô nhớ 3000:1001h… Cho đến ô nhớ DS :200h với ô nhớ
3000:1100h.

 So sánh 101 bytes
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
7
7
D (Dump)
D (Dump)
Hie
Hie


n no
n no


i dung bo
i dung bo


nhụ
nhụ


theo da
theo da
ù
ù
ng he

ng he


16 va
16 va


ASCII
ASCII
.
.
Caựch goùi : D <khoaỷng>
Ex : - D F000 : 0
- D ES : 100
- D 100
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
8
8
Le
Le
ä
ä
nh F (
nh F (
Fill)
Fill)
Cu

Cu
ù
ù
pha
pha
ù
ù
p : F <khoa
p : F <khoa
û
û
ng> <danh sa
ng> <danh sa
ù
ù
ch>
ch>
Công du
Công du
ï
ï
ng : la
ng : la
á
á
p
p
đ
đ
a

a
à
à
y trò va
y trò va
ø
ø
o vu
o vu
ø
ø
ng nhơ
ng nhơ
ù
ù
ngay
ngay
ta
ta
ï
ï
i
i
đ
đ
òa ch
òa ch


mong muo

mong muo
á
á
n.
n.
Trò nhập vào từng byte một theo hệ 16
Dấu trừ (-) dùng để lùi lại 1 đòa chỉ.
SPACE BAR dùng để tới 1 đòa chỉ.
ENTER để kết thúc.
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
9
9
Minh ho
Minh ho
ï
ï
a le
a le
ä
ä
nh
nh
F
F
La
La
é

é
p
p
ñ
ñ
a
a
à
à
y vu
y vu
ø
ø
ng nhô
ng nhô
ù
ù
ta
ta
ï
ï
i
i
ñ
ñ
òa ch
òa ch
æ
æ
offset 100h

offset 100h
chuo
chuo
å
å
i
i


Toi dua em sang song
Toi dua em sang song


.
.
F 100 “TOI DUA EM SANG SONG”
OFFSET 100H
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
10
10
KE
KE
Á
Á
T QUA
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
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
11
11
D (DUMP)
D (DUMP)
Mục đích : in nội dung bộ nhớ trong MT ra màn hình dưới dạng số hex.
Cú pháp : D [ address]
D [range]
Ex : in nội dung vùng nhớ đã lắp đầy ở ví dụ trước ở đòa chỉ
100h
Ex2 : xem nội dung vùng nhớ 16 bytes bắt đầu ở đòa chỉ F000:100
- D F000:100 L10
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug

12
12
Th
Th


du
du
ù
ù
minh ho
minh ho
ù
ù
a le
a le


nh
nh
D
D


a
a


nh va
nh va



o le
o le


nh D
nh D


e
e


xem no
xem no


i dung vu
i dung vu


ng nhụ
ng nhụ


cu
cu



a 30h bytes bo
a 30h bytes bo


nhụ
nhụ


t
t
ửứ
ửứ


ũa ch
ũa ch


0000:0040
0000:0040


e
e


n 0000:006F
n 0000:006F
- D 0000:0040 006F
ẹũa chổ baột ủau

- D 0000:0040 L 30
Soỏ bytes
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
13
13
E (ENTER)
E (ENTER)
Du
Du
ø
ø
ng
ng
đ
đ
e
e
å
å
đư
đư
a d
a d
ư
ư
õ lie
õ lie

ä
ä
u byte va
u byte va
ø
ø
o bo
o bo
ä
ä
nhơ
nhơ
ù
ù
ngay
ngay
ta
ta
ï
ï
i
i
đ
đ
òa ch
òa ch


mong muo
mong muo

á
á
n.
n.
Cách gọi :
- E <đòa chỉ> <danh sách>
Trò nhập vào theo dạng số 16 từng byte một
Dấu - dùng để lùi lại 1 đòa chỉ
Space Bar dùng để tới 1 đòa chỉ
Enter dùng để kết thúc
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
14
14
Minh ho
Minh ho
ï
ï
a le
a le
ä
ä
nh E
nh E
Mu
Mu
ï
ï

c d
c d
í
í
ch : thay
ch : thay
đ
đ
o
o
å
å
i no
i no
ä
ä
i dung bo
i dung bo
ä
ä
nhơ
nhơ
ù
ù
.
.
Cú pháp : - E [address] [ list]
Ex : thay đổi 6 bytes bắt đầu ở đòa chỉ 100 thành “ABCDE”
- E 100 “ABCDE”
D

e
b
u
g
l
a
á
y
đ
o
a
ï
n
c
h

b
ơ
û
i
D
S
N
e
á
u
t
a
k
h

o
â
n
g
q
u
i
đ
ò
n
h
đ
ò
a
c
h

đ
o
a
ï
n
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
15
15
Le
Le



nh U (Unassemble)
nh U (Unassemble)
coõng du
coõng du
ù
ù
ng : in ra 32 bytes maừ ma
ng : in ra 32 bytes maừ ma


y cu
y cu


a
a
ch
ch


ụng tr
ụng tr


nh trong bo
nh trong bo



nhụ
nhụ


ra ma
ra ma


n h
n h


nh d
nh d






i
i
le
le


nh gụ
nh gụ
ù
ù

i nhụ
i nhụ


.
.
cu
cu


pha
pha


p : U [address]
p : U [address]
U [range]
U [range]
Ex : U 100 119
I
n
r
a
m
a

n
h

n

h
c
a

c
l
e

n
h
m
a

m
a

y
t



ũ
a
c
h

C
S
:
1

0
0

e

n
C
S
:
1
1
9
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
16
16
Le
Le


nh R (Register)
nh R (Register)
Coõng du
Coõng du
ù
ù
ng : xem va
ng : xem va



s
s
ửỷ
ửỷ
a no
a no


i dung thanh ghi.
i dung thanh ghi.
Cu
Cu


pha
pha


p :
p :
-
-
R enter (xem ta
R enter (xem ta


t ca
t ca



thanh ghi)
thanh ghi)
xem thanh ghi AX :
xem thanh ghi AX :
-
-
R AX
R AX
xem thanh ghi cụ
xem thanh ghi cụ


: R F
: R F
Ex : muo
Ex : muo


n ba
n ba


t thanh ghi cụ
t thanh ghi cụ


CF va
CF va



ZF ta nha
ZF ta nha


p
p
CY va
CY va


ZR.
ZR.
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
17
17
Le
Le
ä
ä
nh N (Name)
nh N (Name)
Coâng du
Coâng du
ï
ï

ng : ta
ng : ta
ï
ï
o ta
o ta
ä
ä
p tin ca
p tin ca
à
à
n
n
ñ
ñ
o
o
ï
ï
c hay ghi tr
c hay ghi tr
ö
ö
ô
ô
ù
ù
c
c

khi du
khi du
ø
ø
ng le
ng le
ä
ä
nh L hay W.
nh L hay W.
Cu
Cu
ù
ù
pha
pha
ù
ù
p :
p :
-
-
N <teân file> [ thoâng so
N <teân file> [ thoâng so
á
á
] L [
] L [
ñ
ñ

òa ch
òa ch
æ
æ
]
]
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
18
18
Th
Th
í
í
du
du
ï
ï
minh ho
minh ho
ï
ï
a le
a le
ä
ä
nh
nh

N
N
Ex : tạo tập tin Love.txt .
Dùng lệnh R để xác đònh vùng đòa chỉ dành cho User.
Dùng lệnh để đưa câu thông báo “ I love you more than I
can say’ ở đòa chỉ 2000:100.
Dùng lệnh D để kiểm tra vùng nhớ tại đòa chỉ 2000:100.
Dùng lệnh N để đặt tên tập tin trên đóa.
- N Love.txt
Dùng lệnh R để đònh số byte cần thiết ghi lên đóa trong 2
thanh ghi BX và CX. Cụ thể trong trường hợp này số
byte cần ghi là 1Eh byte.
BX = 0000 CX = 1E
Dùng lệnh W 2000:100 để ghi dữ liệu đã nhập vào tập tin
ở đòa chỉ bộ nhớ 2000:100.
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
19
19
Thoa
Thoa


t kho
t kho


i Debug va

i Debug va


go
go
ù
ù
i la
i la
ù
ù
i ta
i ta


p tin
p tin
theo ca
theo ca


ch sau :
ch sau :
C :
C :
\
\
> Debug Love.txt
> Debug Love.txt
t

t


m xem Debug
m xem Debug


aừ na
aừ na
ù
ù
p ta
p ta


p tin Love.txt
p tin Love.txt
va
va


o choó na
o choó na


o trong bo
o trong bo


nhụ

nhụ


.
.
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
20
20
Le
Le
ä
ä
nh W (Write)
nh W (Write)
Cu
Cu
ù
ù
pha
pha
ù
ù
p : W [address]
p : W [address]
Thường được sử dụng chung với lệnh N
Ex : tạo tập tin có tên Love.txt
Bước 1 : dùng lệnh E để đưa câu ‘I love you more than I can say” vào ô nhớ ở đòa chỉ

100.
Bước 2 : dùng lệnh D để kiểm tra lại đòa chỉ 100
Bước 3 : dùng lệnh N để đặt tên tập tin : - N Love.txt
Bước 4 : dùng lệnh R để đònh số byte cần ghi lên đóa trong 2 thanh ghi BX và CX. (BX
chứa 16 bit cao, CX chứa 16 bit thấp).
đây số byte cần ghi là 1Eh.
Bước 5 : dùng lệnh W để ghi câu trên đã nhập vào vùng nhớ có đòa chỉ bắt đầu là 100.
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
21
21
Le
Le
ä
ä
nh T (Trace)va
nh T (Trace)va
ø
ø
P
P
cu
cu
ù
ù
pha
pha
ù

ù
p :
p :
-
-
T [= <
T [= <
đ
đ
ia
ia
ï
ï
ch
ch


>][so
>][so
á
á
la
la
à
à
n]
n]
Mục đích : dùng để chạy 1 hay nhiều lần các lệnh
trong bộ nhớ
Ex : - T = 3000:1000

Ex : - T = 3000:1000 <số lần>
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
22
22
Le
Le
ä
ä
nh L (Load)
nh L (Load)
na
na
ï
ï
p ta
p ta
ä
ä
p tin hoa
p tin hoa
ë
ë
c na
c na
ï
ï
p sector lua

p sector lua
ä
ä
n
n
ly
ly
ù
ù
t
t


đó
đó
a va
a va
ø
ø
o bo
o bo
ä
ä
nhơ
nhơ
ù
ù
.
.
Cú pháp : - L <đòa chỉ> [<đóa> <sector><số>]

Dạng 1 : nếu chỉ có đòa chỉ dùng để nạp tập tin.
Tên tập tin phải được gán trước bằng lệnh N.
Tập tin luôn luôn được gán ở đòa chỉ offset 100h
Dạng 2 : nếu có đầy đủ các thông số , dùng để đọc sector
luận lý trên đóa vào bộ nhớ.
Đóa : = 0 ổ đóa A, =1 ổ đóa B, =2 ổ đóa C ….
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
23
23
Le
Le
ä
ä
nh H (Hex Arithmethic)
nh H (Hex Arithmethic)
th
th


c hie
c hie
ä
ä
n phe
n phe
ù
ù

p co
p co
ä
ä
ng va
ng va
ø
ø
tr
tr


he
he
ä
ä
16
16
Cú pháp : - H <trò 1> <trò 2>
Kết quả : hiện ra tổng và hiệu của trò 1 và trò 2
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
24
24
Le
Le



nh S (Search)
nh S (Search)
Coõng du
Coõng du
ù
ù
ng : t
ng : t


m kie
m kie


m trũ trong 1 vu
m trũ trong 1 vu


ng bo
ng bo


nhụ
nhụ


.
.
Cu
Cu



pha
pha


p :
p :
-
-
S <khoa
S <khoa


ng> <danh sa
ng> <danh sa


ch>
ch>
Gia
Gia


i th
i th


ch : t
ch : t



m kie
m kie


m trũ co
m trũ co


hie
hie


n die
n die


n trong vu
n trong vu


ng bo
ng bo


nhụ
nhụ





aừ ch
aừ ch




ũnh hay khoõng? Ne
ũnh hay khoõng? Ne


u co
u co


Debug hie
Debug hie


n ca
n ca


c
c


ũa ch
ũa ch





a
a


u cu
u cu


a nh
a nh


ừng nụi co
ừng nụi co


ch
ch
ửự
ửự
a danh sa
a danh sa


ch.
ch.

Ex :
Ex :
-
-
S 100 L 1000
S 100 L 1000


DOS
DOS


18AF : 0154
18AF : 0154
18AF : 0823
18AF : 0823
Ex2 :
Ex2 :
-
-
S 2000 2200 13,15,8A, 8
S 2000 2200 13,15,8A, 8
22/08/2011
22/08/2011
Chuong 3 Debug
Chuong 3 Debug
25
25
Le
Le



nh M (Move)
nh M (Move)
Coõng du
Coõng du
ù
ù
ng : che
ng : che


p no
p no


i dung vu
i dung vu


ng nhụ
ng nhụ




e
e



n 1
n 1


ũa ch
ũa ch


kha
kha


c.
c.
Cu
Cu


pha
pha


p :
p :
-
-
M <khoa
M <khoa



ng>
ng>
Ex :
Ex :
-
-
M 100 105 200
M 100 105 200
Che
Che


p 5 bytes t
p 5 bytes t
ửứ
ửứ
DS:100
DS:100


e
e


n DS:200
n DS:200
Ex2 :
Ex2 :
-
-

M CS:100 L 50 ES:300
M CS:100 L 50 ES:300
Che
Che


p 50 bytes t
p 50 bytes t
ửứ
ửứ
CS:100
CS:100


e
e


n ES:300
n ES:300

×