Professional Documents
Culture Documents
1/Chapter
Ni dung mn hc
1.
2.
3.
4.
5.
6.
7.
DHBK 2005
2/Chapter
DHBK 2005
3/Chapter
DHBK 2005
4/Chapter
DHBK 2005
5/Chapter
.ModelSmall
2.
.Stack100
3.
4.
5.
6.
7.
.Data
8.
9.
MAINProc
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
TbaoDBChuoidasapxep:,10,13
MGBDBa,Y,G,T,y,Z,U,B,D,E,
DB$
.Code
MOVAX,@Data
MOVDS,AX
MOVBX,10
LEA
DEC
LAP: MOVSI,DX
MOV
MOV
MOV
TIMMAX:
INCSI
CMP
JNG
MOV
MOV
TIEP:LOOPTIMMAX
CALLDOICHO
DEC
JNZ
MOV
LEA
INT
MOV
INT
khai bo on m lnh
;khoidauDS
;BX:sophantucuamang
DX,MGB
;DXchivaodaumangbyte
BX
;sovongsosanhphailam
;SIchivaodaumang
CX,BX
;CXsolansocuavongso
DI,SI
;giasuptudaulamax
AL,[DI]
;ALchuaphantumax
;chivaophantubencanh
[SI],AL
;phantumoi>max?
TIEP
;khong,timmax
DI,SI
;dung,DIchivaomax
AL,[DI]
;ALchuaphantumax
;timmaxcuamotvongso
;doichomaxvoisomoi
BX
;sovongsoconlai
LAP
;lamtiepvongsomoi
AH,9
;hienthichuoidasapxep
DX,Tbao
21H
AH,4CH
;veDOS
21H
MAIN
Endp
DOICHOProc
PUSHAX
MOV
XCHG
MOV
POP
RET
DOICHOEndp
ENDMAIN
khai bo on d liu
ch thch bt u
bng du ;
DHBK 2005
6/Chapter
DHBK 2005
7/Chapter
DHBK 2005
8/Chapter
DHBK 2005
9/Chapter
DHBK 2005
10
/Chapter3
DB
gia_tr_khi u
B1
B1
C1
C1
DB
DB
DB
DB
4
?
$
34
DHBK 2005
11
/Chapter3
DW
W1
W2
DW
DW
gia_tr_khi u
4
?
Bin mng:
M1 DB
4, 5, 6, 7, 8, 9
M2 DB
M3 DB
100 DUP(0)
100 DUP(?)
M4 DB
M4 DB
4, 3, 2, 1, 5, 5, 6, 1, 5, 5, 6
1300A
13009
13008
13007
13006
13005
13004
13003
13002
13001
13000
9
8
7
6
5
4
M1
DHBK 2005
12
/Chapter3
M1 DB
DB
M2 DB
DB
DB
1, 6, 3
4, 2, 5
1, 4
6, 2
3, 5
1300A
13009
13008
13007
13006
13005
13004
13003
13002
13001
13000
5
2
4
3
6
1
M1
DHBK 2005
string
73h, 74h, 72h, 69h, 6Eh, 67h
73h, 74h, r, i, 6Eh, 67h
Hng c tn
C th khai bo hng trong chng trnh
Thng c khai bo on d liu
V d:
CR
EQU
LF
EQU
CHAO EQU
MSG DB
CHAO, $
13
/Chapter3
DHBK 2005
14
/Chapter3
DHBK 2005
15
/Chapter3
M t
Tiny (hp)
Small (nh)
Medium
(trung bnh)
Compact (gn)
Large (ln)
m lnh nm trong nhiu on, d liu trong nhiu on, khng c mng
no ln hn 64 K
Huge ( s)
DHBK 2005
16
/Chapter3
Gi tr ngm nh 1 KB
Khai bo on d liu:
.Data
Khai bo cc bin v hng
Khai bo on m
.Code
DHBK 2005
17
/Chapter3
Small
100
;cc nh ngha cho bin v hng
.Code
MAIN
Proc
;khi u cho DS
MOV
AX, @data
MOV
DS, AX
;cc lnh ca chng trnh
DHBK 2005
18
/Chapter3
Small
100
CRLF
MSG
.Code
MAIN
MAIN
DB
DB
13,10,$
Hello! $
Proc
;khi u cho DS
MOV
AX, @data
MOV
DS, AX
;v u dng mi dng hm 9 ca INT 21H
MOV
AH,9
LEA
DX, CRLF
INT
21H
;Hin th li cho dng hm 9 ca INT 21H
MOV
AH,9
LEA
DX, MSG
INT
21H
;v u dng mi dng hm 9 ca INT 21H
MOV
AH,9
LEA
DX, CRLF
INT
21H
;tr v DOS dng hm 4CH ca INT 21H
MOV
AH, 4CH
INT
21H
Endp
END MAIN
DHBK 2005
19
/Chapter3
Tiny
ORG
100h
START: JMP
CONTINUE
;cc nh ngha cho bin v hng
CONTINUE:
MAIN Proc
;cc lnh ca chng trnh
INT
20H
;tr v DOS
MAIN Endp
;cc chng trnh con nu c
END START
DHBK 2005
20
/Chapter3
SP
Chiu tin ca ngn xp
D liu
JMP CONTINUE
on u chng trnh
Program segment prefix
IP
DHBK 2005
21
/Chapter3
.Model
.Code
Tiny
ORG
100H
START: JMP CONTINUE
CRLF
DB
13,10,$
MSG
DB
Hello! $
CONTINUE:
MAIN
Proc
;v u dng mi dng hm 9 ca INT 21H
MOV
AH,9
LEA
DX, CRLF
INT
21H
;Hin th li cho dng hm 9 ca INT 21H
MOV
AH,9
LEA
DX, MSG
INT
21H
;v u dng mi dng hm 9 ca INT 21H
MOV
AH,9
LEA
DX, CRLF
INT
21H
;tr v DOS
INT
20H
MAIN
Endp
END START
DHBK 2005
22
/Chapter3
Stack
chng trnh
100h
PSP
.COM
SS
CS
DS
ES
chng trnh
PSP
. EXE
100h
DHBK 2005
23
/Chapter3
DHBK 2005
24
/Chapter3
Dch c ra .com?
khng
DHBK 2005
25
/Chapter3
DHBK 2005
; If AX<0
CMP
AX, 0 ;
JNL
End_if ;
; then
NEG
AX
;
End_if: MOV
BX,
AX<0 ?
khng, thot ra
ng, o du
AX
;gn
26
/Chapter3
DHBK 2005
; if AX<BX
CMP
AX, BX
; AX<BX ?
JL
Then_ ; ng, CX=0
;else
MOV
CX, 1 ; sai, CX=1
JMP
End_if
Then_: MOV
CX, 0;
End_if:
27
/Chapter3
DHBK 2005
V d:
Nu AX<0 th CX=-1
Nu AX=0 th CX=0
Nu AX>0 th CX=1
CMP
JL
JE
JG
AM: MOV
JMP
Khong: MOV
JMP
AX, 0 ;
AM
; AX<0
Khong ; AX=0
DUONG; AX>1
CX, -1
End_case
CX, 0
End_case
28
/Chapter3
DHBK 2005
3.3.2 Cu trc lp
For-Do
29
/Chapter3
khi to b m
cng vic
gim b m i 1
b m=0?
MOV CX, 80
;s ln lp
MOV AH,2
;hm hin th
MOV DL,$;DL cha k t cn hin th
HIEN: INT 21H
; Hin th
LOOP HIEN
;End_for
DHBK 2005
3.3.2 Cu trc lp
While-Do
30
/Chapter3
S
iu kin
cng vic
XOR AX, AX
;AX=0
XOR BX, BX
;BX=0
TIEP:
CMP AX,10
;so snh AX vi 10
JNE End_while ;kt thc nu AX<>10
INC BX
;BX=BX+1
ADD AX,2
;AX=AX+2
End_while:
DHBK 2005
3.3.2 Cu trc lp
Repeat-until
iu kin
MOV AH,1
TIEP: INT 21H
CMP AL, 13
JNE TIEP
End_:
;hm c k t t bn phm
; c mt k t vo AL
; c CR?
; cha, c tip
31
/Chapter3
DHBK 2005
32
/Chapter3
DHBK 2005
Hm 2: hin 1 k t ln mn hnh
Vo: AH=2
DL=m ASCII ca k t cn hin th
33
/Chapter3
DHBK 2005
34
/Chapter3
DHBK 2005
35
/Chapter3
Gii: