You are on page 1of 24

TP LNH VI X L 8086/8088

I. T CHC LNH CA VI X L 8086/8088 :


1. Dng lnh :
- Mt lnh ca vi x l 86 c dng tng qut nh sau :
<M gi nh> <Ton hng ch>,<Ton hng ngun>
- M gi nh gip cho ngi s dng bit hot ng ca lnh. M gi nh thng l
cc ch ting anh vit tt nh : MOV l lnh chuyn, ADD l lnh cng, AND l lnh
v lun l, JMP l lnh nhy . . .
- Ton hng ch gi kt qu (nu c yu cu) sau khi thi hnh lnh. Ton hng ch
c th l thanh ghi hay b nh.
- Ton hng ngun c th l thanh ghi, b nh hay mt s tc thi.
- Ton hng thanh ghi l cc thanh ghi ca vi x l 86 gm cc thanh ghi tng qut (8
bit ln 16 bit) v cc thanh ghi on bit.
- Ton hng s tc thi c th l s trong cc h m khc nhau v c vit theo qui
nh nh sau :
. S h 2 : B ( l 1 bit nh phn).
V d : 01101101B, 11111111B
. S h 10 : , hay D ( l mt s thuc h 10).
V d : 65535, 1000
. S h 16 : H v bt u bng s ( l mt s thuc h 16).
V d : 1A59H, 0E05BH
- Ton hng b nh dng trong tp lnh vi x l 86 s dng phng php nh a ch
tng hp c gi l a ch hiu dng.
2. a ch hiu dng :
- a ch hiu dng l t hp ca 3 nhm sau c t trong du ngoc vung [ ]:
. Nhm thanh ghi ch s : SI, DI
. Nhm thanh ghi nn : BX, BP
. a ch trc tip : s 16 bit
- Cc thanh ghi trong cng mt nhm khng c xut hin trong cng mt a ch
hiu dng.
- V d :
. a ch hiu dng hp l :
[1000h], [SI], [DI], [BX], [BP]
[SI+BX], [SI+BP], [DI+BX], [DI+BP], [SI+1000h], [DI+100h], [BX+1], [BP+1]
[SI][BX][1000h], [SI+ BP+1000h], [DI+BX][1000h], [DI+1000h][BP]
. a ch hiu dng khng hp l :
[70000], [AX], [SI+DI+1000h], [BX][BP]
- a ch hiu dng chnh l thnh phn offset ca a ch lun l b nh.
- Segment ca a ch hiu dng c mc nh nh sau :
. Nu khng s dng BP trong a ch hiu dng th mc nh theo thanh ghi DS.
. Nu c BP trong a ch hiu dng th mc nh theo thanh ghi SS.


Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.28 T chc v cu trc my tnh TP LNH 8086/8088
- Cc hot ng thc hin trn b nh thng qua a ch hiu dng chia ra lm 2 trng
hp : hot ng 8 bit v hot ng 16 bit.
- Hot ng b nh 8 bit lm vic trn 1 byte b nh ngay v tr ch ra bi a ch hiu
dng.
- Hot ng b nh 16 bit s lm vic trn 2 byte b nh c a ch k tip nhau v ni
dung ca chng c ghp li thnh d liu 16 bit theo qui tc "byte cao a ch cao,
byte thp a ch thp" nh trong hnh sau :

- thun tin trong vn gii thch lnh, ta qui c thm cch din t sau :
. D liu 8 bit ca b nh : [a ch ]
. D liu 16 bit ca b nh : [a ch +1,a ch]
- xc nh r hot ng ca b nh, ta phi dng thm ton t PTR nh sau :
. Hot ng 8 bit : BYTE PTR [1000h] l tham kho 1 byte b nh c a
ch 1000h
. Hot ng 16 bit : WORD PTR [1000h] l tham kho n 2 byte b nh
lin tip 1000h v 1001h

II. CC NHM LNH CA VI X L 8086/8088 :
1. K hiu qui c :
- Cc ch vit tt dng trong cc nhm lnh :
reg : thanh ghi tng qut.
reg16 : thanh ghi 16 bit.
segreg : thanh ghi on.
accum : thanh ghi b tch ly AX hoc AL.
mem : b nh (a ch hiu dng).
mem16 : b nh 2 byte lin tip (a ch hiu dng).
mem32 : b nh 4 byte lin tip (a ch hiu dng).
immed : s tc thi.
immed8 : s tc thi 8 bit.
shortlabel : nhn ngn (-128 byte +127 byte).
nearlabel : nhn trong on (2 byte offset).
farlabel : nhn ngoi on (4 byte : 2 byte segment v 2 byte offset).

2. Nhm lnh chuyn d liu :
2.1 Lnh MOV :
- Dng lnh : MOV reg,reg MOV reg,immed
MOV mem,reg MOV mem,immed
MOV reg,mem MOV mem16,segreg
MOV reg16,segreg MOV segreg,mem16
MOV segreg,reg16
- Gii thch : th thn
- Tc ng c :

- Chp ton hng ngun vo ton hng ch.
- V d : MOV AX,CX ; AX CX
OF DF IF SF ZF AF PF CF

1000h 1001h
12 34
1234h
D liu
B nh
(a ch)


i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.29
MOV DL,BH ; DL BH
MOV [SI+1000h],BP ; [SI+1001h, SI+1000h] BP
MOV DX,[1000h] ; DX [1001h,1000h]
MOV DX,DS ; DX DS
MOV ES,BX ; ES BX
MOV DI,12h ; DI 12h
MOV AL,12h ; AL 12h
MOV BYTE PTR [1000h],12h ; [1000h] 12h
MOV WORD PTR [2000h],1200h ; [2001h,2000h] 1200h
MOV [BX],DS ; [BX+1,BX] DS
MOV SS,[2000h] ; SS [2001h,2000h]

2.2 Lnh PUSH :
- Dng lnh : PUSH reg16 PUSH segreg
PUSH mem16
- Gii thch : SP SP-2
[SS:SP+1,SS:SP] thn
- Tc ng c :

- y ton hng ngun 16 bit vo chng (a ch nh chng l SS:SP).
- V d : PUSH DI ; [SS:SP+1,SS:SP] DI
PUSH CS ; [SS:SP+1,SS:SP] CS
PUSH [SI] ; [SS:SP+1,SS:SP] [SI+1,SI]

2.3 Lnh POP :
- Dng lnh : POP reg16 POP segreg
POP mem16
- Gii thch : th [SS:SP+1,SS:SP]
SP SP+2
- Tc ng c :

- Ly d liu t nh chng vo ton hng ch.
- V d : POP AX ; AX [SS:SP+1,SS:SP]
POP ES ; ES [SS:SP+1,SS:SP]
POP [BX+1] ; [BX+2,BX+1] [SS:SP+1,SS:SP]

2.4 Lnh XCHG :
- Dng lnh : XCHG reg,reg XCHG mem,reg
XCHG accum,reg16 XCHG reg,mem
- Gii thch : th thn
- Tc ng c :

- Trao i ni dung hai ton hng cho nhau.
- V d : XCHG AX,CX ; AX CX
XCHG AH,AL ; AH AL
XCHG [1000h],DX ; [1001h,1000h] DX


OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.30 T chc v cu trc my tnh TP LNH 8086/8088
2.5 Lnh IN :
- Dng lnh : IN accum,immed8
IN accum,DX
- Gii thch : btl [cng IO]
- Tc ng c :

- Nhp d liu t cng xut nhp vo thanh ghi b tch ly AL hay AX. Trng
hp AX s nhp byte thp trc, byte cao sau.
- Dng lnh c immed8 dng trong trng hp a ch cng xut nhp 8 bit.
- V d : IN AL,61h
IN AX,40h
- Dng lnh c thanh ghi DX dng cho trng hp a ch cng 16 bit. Tuy nhin
dng ny vn c th dng cho cng xut nhp c a ch 8 bit v c li khi s
dng a ch cng nhp nhiu ln.
- V d : MOV DX,378h
IN AL,DX

2.6 Lnh OUT :
- Dng lnh : OUT immed8,accum
OUT DX,accum
- Gii thch : [cng IO] btl
- Tc ng c :

- Xut d liu t thanh ghi b tch ly AL hoc AX ra cng xut nhp c a ch 8
bit l s tc thi immed8 hay c a ch 16 bit trong thanh ghi DX.
- V d : OUT 20h,AL
MOV DX,2F8h
OUT DX,AL

2.7 Lnh XLAT :
- Dng lnh : XLAT
- Gii thch : AL [DS:BX+AL]
- Tc ng c :

- Tra bng. Thanh ghi BX gi a ch u bng. Thanh ghi AL gi ch s ca phn
t cn ly ra.
- V d : bi ton tnh bnh phng mt s nguyn c th thc hin bng cch tra
bng nh sau
MOV CX,1000h
MOV DS,CX
MOV BX,2000h ; a ch u bng
MOV AL,5 ; ch s
XLAT ; tra bng
-----------------------
Sau khi lm xong lnh XLAT :
AL = 25 = 5
2
- Lnh XLAT c ng dng trong m ha d liu.

2.8 Lnh LEA :
- Dng lnh : LEA reg16,mem
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

0
1
4
9
16
25
36
49
64
81
0
1
2
3
4
5
6
7
8
9
a ch
u bng
1000:2000
( DS:BX )
Ch s
phn t
( AL )
D liu


i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.31
- Gii thch : th a ch
- Tc ng c :

- Np a ch hiu dng vo thanh ghi 16 bit.
- V d : LEA BX,[1000h] ; BX 1000h
LEA SI,[DI][BX][2000h] ; SI DI+BX+2000h

2.9 Lnh LDS :
- Dng lnh : LDS reg16,mem32
- Gii thch : DS [a ch+3,a ch+2]
th [a ch+1,a ch]
- Tc ng c :

- Np 4 byte b nh (con tr) vo thanh ghi DS v mt thanh ghi tng qut.
- V d : LDS BX,[1000h] ; DS [1003h, 1002h]
; BX [1001h, 1000h]

2.10 Lnh LES :
- Dng lnh : LES reg16,mem32
- Gii thch : ES [a ch+3,a ch+2]
th [a ch+1,a ch]
- Tc ng c :

- Np 4 byte b nh (con tr) vo thanh ghi ES v mt thanh ghi tng qut.
- V d : LES DI,[1000h] ; ES [1003h, 1002h]
; SI [1001h, 1000h]

2.11 Lnh LAHF :
- Dng lnh : LAHF
- Gii thch : AH Flags
L
- Tc ng c :

- Np 8 bit thp ca thanh ghi c vo thanh ghi AH.

2.12 Lnh SAHF :
- Dng lnh : SAHF
- Gii thch : Flags
L
AH

- Tc ng c :

- Ct thanh ghi AH vo 8 bit thp ca thanh ghi c.

2.13 Lnh PUSHF :
- Dng lnh : PUSHF
- Gii thch : SP SP - 2
[SS:SP+1,SS:SP] Flags
- Tc ng c :

- y thanh ghi c vo chng.

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.32 T chc v cu trc my tnh TP LNH 8086/8088
2.14 Lnh POPF :
- Dng lnh : POPF
- Gii thch : Flags [SS:SP+1,SS:SP]
SP SP + 2
- Tc ng c :

- Ly thanh ghi c t chng ra.

3. Nhm lnh s hc :
3.1 Lnh ADD :
- Dng lnh : ADD reg,reg ADD reg,immed
ADD mem,reg ADD mem,immed
ADD reg,mem ADD accum,immed
- Gii thch : th th + thn
- Tc ng c :

- Cng ton hng ngun vo ton hng ch. Kt qu ct vo ton hng ch.
- V d : ADD CX,SI ; CX CX + SI
ADD DH,BL ; DH DH + BL
ADD [1000h],BX ; [1001h,1000h] [1001h,1000h] + BX
ADD [2000h],CL ; [2000h] [2000h] + CL
ADD AL,[0000h] ; AL AL + [0000h]
ADD BYTE PTR [SI+8],5 ; [SI+8] [SI+8] + 05h

3.2 Lnh ADC :
- Dng lnh : ADC reg,reg ADC reg,immed
ADC mem,reg ADC mem,immed
ADC reg,mem ADC accum,immed
- Gii thch : th th + thn + CF
- Tc ng c :

- Cng ton hng ch vi ton hng ngun vi c nh. Kt qu ct vo ton hng
ch. ADC dng cho php cng 2 s c chiu di nhiu byte.
- V d : ADC BX,AX ; BX BX + AX + CF
ADC BYTE PTR [1000h],7Ah ; [1000h] [1000h]+7Ah+CF

3.3 Lnh INC :
- Dng lnh : INC reg INC mem
- Gii thch : th th + 1
- Tc ng c :

- Tng tc l cng 1 vo ton hng ch nhng khng nh hng c nh.
- V d : INC CH
INC WORD PTR [1000h]

3.4 Lnh AAA :
- Dng lnh : AAA
- Gii thch : Nu (b
3
b
2
b
1
b
0
ca AL) > 9 hoc AF=1 th
AL (AL+6) and 0Fh, AH AH+1, CF 1, AF 1
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.33
- Tc ng c :

- Chnh ASCII sau php cng. Chnh kt qu trong AL thnh 2 s BCD khng nn
trong AH v AL.
- V d : kt qu : AH=00, AL= 0Dh, AF=0, CF=0
sau khi chnh: AH=01h, AL=03h, AF=1, CF=1

3.4 Lnh DAA :
- Dng lnh : DAA
- Gii thch : Nu (b
3
b
2
b
1
b
0
ca AL) > 9 hoc AF=1 th
AL (AL+6), AF 1
Nu AL > 9Fh hoc CF=1 th
AL AL+60h, CF 1
- Tc ng c :

- Chnh thp phn sau php cng. Chnh kt qu trong AL thnh s BCD nn trong
AL.
- V d : kt qu : AL= 0Dh, AF=0, CF=0
sau khi chnh: AL=13h, AF=1, CF=0
kt qu : AL= 9Dh, AF=0, CF=0
sau khi chnh: AL=03h, AF=1, CF=1

3.5 Lnh SUB :
- Dng lnh : SUB reg,reg SUB reg,immed
SUB mem,reg SUB mem,immed
SUB reg,mem SUB accum,immed
- Gii thch : th th - thn
- Tc ng c :

- Tr ton hng ch cho ton hng ngun. Kt qu ct vo ton hng ch.
- V d : SUB DL,AL ; DL DL - AL
SUB CX,[DI] ; CX CX - [DI+1,DI]
SUB BP,4 ; BP BP - 4

3.6 Lnh SBB :
- Dng lnh : SBB reg,reg SBB reg,immed
SBB mem,reg SBB mem,immed
SBB reg,mem SBB accum,immed
- Gii thch : th th - thn - CF
- Tc ng c :

- Tr ton hng ch cho ton hng ngun v c nh. Kt qu ct vo ton hng
ch.
- V d : SBB SI,BX ; SI SI - BX -CF
SBB BYTE PTR [BX],2 ; [BX+1,BX] [BX+1,BX] - 2 - CF

3.7 Lnh DEC :
- Dng lnh : DEC reg DEC mem
- Gii thch : th th - 1
OF DF IF SF ZF AF PF CF
? ? ? ?
OF DF IF SF ZF AF PF CF
? ? ? ?
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.34 T chc v cu trc my tnh TP LNH 8086/8088
- Tc ng c :

- Gim tc l tr 1 vo ton hng ch nhng khng nh hng c nh.
-V d : DEC AX
DEC BYTE PTR [SI][2000h]

3.8 Lnh NEG :
- Dng lnh : NEG reg NEG mem
- Gii thch : th b 2(th)
- Tc ng c :

- Ly b 2 ton hng ch.

3.9 Lnh CMP :
- Dng lnh : CMP reg,reg CMP reg,immed
CMP mem,reg CMP mem,immed
CMP reg,mem CMP accum,immed
- Gii thch : th - thn
- Tc ng c :

- So snh. Thc hin tr ton hng ch cho ton hng ngun, khng lu li kt qu
m ch gi li tc ng ca php tr ln cc c.
- V d : CMP AL,8 ; AL - 8
CMP WORD PTR [1000h], 3 ; [1001h,1000h] - 3

3.10 Lnh AAS :
- Dng lnh : AAS
- Gii thch : Nu (D
3
D
2
D
1
D
0
ca AL) > 9 hoc AF=1 th
AL (AL - 6) and 0Fh, AH AH - 1, CF 1, AF 1
- Tc ng c :

- Chnh ASCII sau php cng. Chnh kt qu trong AL thnh 2 s BCD khng nn
trong AH v AL.
- V d : kt qu : AH=00h, AL= 0Dh, AF=0, CF=0
sau khi chnh: AH=01h, AL=03h, AF=1, CF=1

3.11 Lnh DAS :
- Dng lnh : DAS
- Gii thch : Nu (D
3
D
2
D
1
D
0
ca AL) > 9 hoc AF=1 th
AL (AL - 6), AF 1
Nu AL > 9Fh hoc CF=1 th
AL AL - 60h, CF 1
- Tc ng c :

- Chnh thp phn sau php tr. Chnh kt qu trong AL thnh s BCD nn trong
AL.
- V d : kt qu ca (4 - 8) : AL= 0FCh, AF=1, CF=1
sau khi chnh : AL=96h, AF=1, CF=1

3.12 Lnh MUL :
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF
? ? ? ?
OF DF IF SF ZF AF PF CF
?


i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.35
- Dng lnh : MUL reg MUL mem
- Gii thch : Ton hng ngun 8 bit th : AX AL * thn8
Ton hng ngun 16 bit th : DX AX AX * thn16
- Tc ng c :

- Nhn hai s khng du 8 bit hay 16 bit. S bit thc hin c xc nh bng chiu
di ca ton hng ngun.
Php nhn 8 bit : thc hin nhn AL vi ton hng ngun, kt qu 16 bit ct
trong thanh ghi AX.
Php nhn 16 bit : thc hin nhn AX vi ton hng ngun, kt qu 32 bit ct
trong 2 thanh ghi DX v AX. DX gi 16 bit cao, AX gi 16 bit thp.
- V d : Nu AL=5, CH=4, sau khi thc hin lnh
MUL CH
ta c AX = AL*CH = 0014h.
Nu AX=500h, [1001h,1000h]=401h, sau khi thc hin lnh
MUL WORD PTR [1000h]
ta c DXAX = AX * [1001h,1000h] = 500h * 401h = 00140500h
Ngha l DX=0014h v AX=0500h.

3.13 Lnh IMUL :
- Dng lnh : IMUL reg IMUL mem
- Tc ng c :

- Nhn hai s c du. Thc hin ging ht nh lnh MUL, ch c kt qu c xem
l s c du.

3.14 Lnh AAM :
- Dng lnh : AAM
- Gii thch : AH (AL / 0Ah)
AL s d ca (AL / 0Ah)
- Tc ng c :

- Chnh ASCII sau php nhn. C th dng i s hex ra s BCD khng nn.
- V d : kt qu : AH = 00, AL = 41h.
sau khi chnh : AH = 06, AL = 05.

3.15 Lnh DIV :
- Dng lnh : DIV reg DIV mem
- Gii thch : Ton hng ngun 8 bit th : AL (AX / thn8)
AH s d ca (AX / thn8)
Ton hng ngun 16 bit th : AX (DXAX / thn16)
DX s d ca (DXAX / thn16)
- Tc ng c :

- Chia hai s khng du.
- Nu ton hng ngun l thanh ghi hay b nh 8 bit, thc hin chia s 16 bit trong
thanh ghi AX cho ton hng ngun 8 bit. Kt qu 8 bit ct trong thanh ghi AL. S
d 8 bit ct trong thanh ghi AH.
OF DF IF SF ZF AF PF CF
? ? ? ?
OF DF IF SF ZF AF PF CF
? ? ?
OF DF IF SF ZF AF PF CF
? ? ? ? ? ?
OF DF IF SF ZF AF PF CF
? ? ? ?


Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.36 T chc v cu trc my tnh TP LNH 8086/8088
- Nu ton hng ngun l thanh ghi hay b nh 16 bit, thc hin chia s 32 bit trong
2 thanh ghi DXAX cho ton hng ngun 16 bit. Kt qu 16 bit ct trong thanh ghi
AX. S d 16 bit ct trong thanh ghi DX.
- V d : Nu AX=0024h, [2000h]=05 th sau khi thc hin lnh
DIV BYTE PTR [2000h]
ta c AL=07 v AH=01.
Nu DX=0001h, AX=0024h, BX=0200h th sau khi thc hin lnh
DIV BX
ta c AX=0008 v DX=0024h.

3.16 Lnh IDIV :
- Dng lnh : IDIV reg IDIV mem
- Tc ng c :

- Chia hai s c du. Thc hin ging nh lnh DIV nhng kt qu coi l s c du.

3.17 Lnh AAD :
- Dng lnh : AAD
- Gii thch : AL ((AH * 0Ah) + AL)
AH 0
- Tc ng c :

- Chnh ASCII trc php chia IDIV. C th dng lnh ny i s BCD khng
nn trong AX ra thnh gi tr nh phn trong AL.
- V d : nu c : AL=03h, AH=05h
sau khi chnh : AL=35h, AH=00h

3.18 Lnh CBW :
- Dng lnh : CBW
- Gii thch : Nu AL < 80h th AH 00h
Nu AL >= 80h th AH 0FFh
- Tc ng c :

- M rng du trc khi dng lnh chia. i s 1 byte c du trong AL thnh s 2
byte c du trong AX.

3.19 Lnh CWD :
- Dng lnh : CWD
- Gii thch : Nu AX < 8000h th DX 0000h
Nu AX >= 8000h th DX 0FFFFh
- Tc ng c :

- M rng du trc khi dng lnh chia. i s 2 byte c du trong AX thnh s 4
byte c du trong DXAX.

4. Nhm lnh lun l :
4.1 Lnh NOT :
- Dng lnh : NOT reg NOT mem
- Gii thch : th b 1 ca th
- Tc ng c :
OF DF IF SF ZF AF PF CF
? ? ?
OF DF IF SF ZF AF PF CF
? ? ? ? ? ?
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.37

- o hay ly b 1.
- V d : NOT AL
NOT WORD PTR [BX+1000h]

4.2 Lnh SHL/SAL :
- Dng lnh : SHL reg,1 SHL mem,1
SHL reg,CL SHL mem,CL
- Gii thch : th (th) dch tri 1 hay nhiu bit.
- Tc ng c :

- Dch tri. Dng SHL reg,1 dng dch tri 1 bit. Dng SHL reg,CL dng
dch tri nhiu bit. Lc thanh ghi CL cha s bit cn dch.
- V d : SHL DH,1
SAL CX,1
MOV CL,3
SHL WORD PTR [1000h],CL ; dch tri 3 bit.
4.3 Lnh SHR :
- Dng lnh : SHR reg,1 SHR mem,1
SHR reg,CL SHR mem,CL
- Gii thch : th (th) dch phi lun l 1 hay nhiu bit.
- Tc ng c :

- Dch phi lun l. Dng c thanh ghi CL dng dch nhiu bit.
- V d : SHR AX,1
MOV CL,2
SHR BYTE PTR [1000h],CL ; dch phi lun l 2 bit.

4.4 Lnh SAR :
- Dng lnh : SAR reg,1 SAR mem,1
SAR reg,CL SAR mem,CL
- Gii thch : th (th) dch phi s hc 1 hay nhiu bit.
- Tc ng c :

- Dch phi s hc. Dng c thanh ghi CL dng dch nhiu bit.
- V d : SAR DX,1
MOV CL,7
SAR WORD PTR [2000h],CL ; dch phi s hc 7 bit.
4.5 Lnh ROL :
- Dng lnh : ROL reg,1 ROL mem,1
ROL reg,CL ROL mem,CL
- Gii thch : th (th) quay tri khng qua c nh 1 hay nhiu bit.
- Tc ng c :

- Quay tri khng qua c nh. Dng c thanh ghi CL dng quay nhiu bit.
- V d : ROL DL,1
MOV CL,6
ROL WORD PTR [1000h],CL ; quay tri khng qua c nh 6 bit.

4.6 Lnh ROR :
OF DF IF SF ZF AF PF CF
?
OF DF IF SF ZF AF PF CF
?
OF DF IF SF ZF AF PF CF
?
OF DF IF SF ZF AF PF CF
?


Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.38 T chc v cu trc my tnh TP LNH 8086/8088
- Dng lnh : ROR reg,1 ROR mem,1
ROR reg,CL ROR mem,CL
- Gii thch : th (th) quay phi khng qua c nh 1 hay nhiu bit.
- Tc ng c :

- Quay phi khng qua c nh. Dng c thanh ghi CL dng quay nhiu bit.
- V d : ROR SI,1
MOV CL,3
ROR WORD PTR [3000h],CL ; quay phi khng qua c nh 3 bit

4.7 Lnh RCL :
- Dng lnh : RCL reg,1 RCL mem,1
RCL reg,CL RCL mem,CL
- Gii thch : th (th) quay tri qua c nh 1 hay nhiu bit.
- Tc ng c :

- Quay tri qua c nh. Dng c thanh ghi CL dng quay nhiu bit.
- V d : RCL BX,1
MOV CL,4
RCL BYTE PTR [1000h],CL ; quay tri qua c nh 4 bit.

4.8 Lnh RCR :
- Dng lnh : RCR reg,1 RCR mem,1
RCR reg,CL RCR mem,CL
- Gii thch : th (th) quay phi qua c nh 1 hay nhiu bit.
- Tc ng c :

- Quay phi qua c nh. Dng c thanh ghi CL dng quay nhiu bit.
- V d : RCR CH,1
MOV CL,2
RCR BYTE PTR [1800h],CL ; quay phi qua c nh 2 bit.

4.9 Lnh AND :
- Dng lnh : AND reg,reg AND reg,immed
AND mem,reg AND mem,immed
AND reg,mem AND accum,immed
- Gii thch : th th AND thn.
- Tc ng c :

- V lun l. Xa c nh v 0.
- V d : AND CH,AH
AND [SI],DX
AND BYTE PTR [1000h],10000000b
AND AX,0FFF0h

4.10 Lnh TEST :
- Dng lnh : TEST reg,reg TEST reg,immed
TEST mem,reg TEST mem,immed
TEST reg,mem TEST accum,immed
- Gii thch : th AND thn.
OF DF IF SF ZF AF PF CF
?
OF DF IF SF ZF AF PF CF
?
OF DF IF SF ZF AF PF CF
?
OF DF IF SF ZF AF PF CF
? 0


i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.39
- Tc ng c :

- V lun l hai ton hng nhng khng gi li kt qu m ch lp cc c. Xa c
nh v c trn v 0. Thng dng kim tra bit. Lc ton hng ngun l mt
mt n bit cn thit.
- V d : TEST DX,1 ; kim tra bit 0
TEST BYTE PTR [2000h],10000000b ; kim tra bit 7

4.11 Lnh OR :
- Dng lnh : OR reg,reg OR reg,immed
OR mem,reg OR mem,immed
OR reg,mem OR accum,immed
- Gii thch : th th OR thn.
- Tc ng c :

- Hay lun l. Xa c nh v 0.
- V d : OR DL,CH
OR BP,[2000h]
OR WORD PTR [1000h],000Fh
4.12 Lnh XOR :
- Dng lnh : XOR reg,reg XOR reg,immed
XOR mem,reg XOR mem,immed
XOR reg,mem XOR accum,immed
- Gii thch : th th XOR thn.
- Tc ng c :

- Hay ngoi lun l. Xa c nh v 0.
- V d : XOR DL,80h ; o bit 7
XOR [2000h],AL ; [2000h] [2000h] XOR AL


5. X l chui :
5.1 Tip u lnh REP :
Dng 1 : REP lnh x l chui
- Gii thch : gim CX, lp li lnh theo sau Nu CX 0
- Tc ng c :

- Lp li khng iu kin. Thanh ghi CX gi s ln lp. Thng dng vi lnh chp
chui MOVS.
- V d : MOV CX,10
REP MOVSB ; thc hin lnh MOVSB 10 ln.

Dng 2 : REPE / REPZ lnh x l chui
- Gii thch : gim CX, lp li lnh theo sau Nu CX 0 v ZF = 1
- Tc ng c :

- Lp li nu bng / nu khng. Hai iu kin CX 0 v ZF = 1 phi tha ng thi
th lnh theo sau mi c lp li. Nu khng, lm qua lnh k. Thng dng vi
lnh so snh chui CMPS tm chui con trong chui ln.
- V d : MOV CX,10
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF
0 ? 0
OF DF IF SF ZF AF PF CF
? 0
OF DF IF SF ZF AF PF CF
? 0


Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.40 T chc v cu trc my tnh TP LNH 8086/8088
REPE CMPSB ; thc hin lnh CMPSB nu cha 10
; ln v hai chui vn cn bng nhau.

Dng 3 : REPNE / REPNZ lnh x l chui
- Gii thch : gim CX, lp li lnh theo sau Nu CX 0 v ZF = 0
- Tc ng c :

- Lp li nu bng / nu khng. Hai iu kin CX 0 v ZF = 1 phi tha ng thi
th lnh theo sau mi c lp li. Nu khng, lm qua lnh k. Thng dng vi
lnh qut chui SCAS d tm k t tong chui.
- V d : MOV CX,20
REPNE SCASB ; thc hin lnh CMPSB nu cha 20
; ln v cha tm ra k t trong chui.
5.2 Lnh MOVS :
- Dng lnh : MOVSB
MOVSW
- Gii thch :
MOVSB : [ES:DI] [DS:SI]
Nu DF=0 th : SI SI + 1, DI DI + 1
ngc li th : SI SI - 1, DI DI - 1
MOVSW : [ES:DI+1,ES:DI] [DS:SI+1,DS:SI]
Nu DF=0 th : SI SI + 2, DI DI + 2
ngc li th : SI SI - 2, DI DI - 2
- Tc ng c :

- Chp byte hay word t ngun sang chui ch. Cp thanh ghi DS:SI gi a ch
chui ngun. Cp thanh ghi ES:DI gi a ch chui ch. Cc a ch chui ngun
trong thanh ghi SI v a ch chui ch trong thanh ghi DI c t ng tng hay
gim sau mi ln chp. Chiu tng gim a ch ty thuc c nh hng DF.
DF=0 x l tng a ch. DF=1 x l gim a ch.
- Lnh ny thng dng kt hp vi tip u lnh REP thc hin vic chp mt
chui hay dy. Lc thanh ghi CX gi chiu di chui ngun.
- V d 1 chp byte : chp 80h byte t a ch 3000:1000 sang a ch 4800:C200
MOV AX,3000h
MOV DS,AX
MOV SI,1000h ; a ch chui ngun.
MOV AX,4800h
MOV ES,AX
MOV DI,0C200h ; a ch chui ch.
MOV CX,80h ; s ln chp.
CLD ; xa c DF, x l tng a ch.
REP MOVSB

- V d 2 chp word : yu cu nh v d 1
MOV AX,3000h
MOV DS,AX
MOV SI,1000h ; a ch chui ngun.
MOV AX,4800h
MOV ES,AX
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.41
MOV DI,0C200h ; a ch chui ch.
MOV CX,40h ; s ln chp.
CLD ; xa c DF, x l tng a ch.
REP MOVSW

5.3 Lnh CMPS :
- Dng lnh : CMPSB
CMPSW
- Gii thch :
CMPSB : [DS:SI] - [ES:DI]
Nu DF=0 th : SI SI + 1, DI DI + 1
ngc li th : SI SI - 1, DI DI - 1
CMPSW : [DS:SI+1,DS:SI] - [ES:DI+1,ES:DI]
Nu DF=0 th : SI SI + 2, DI DI + 2
ngc li th : SI SI - 2, DI DI - 2
- Tc ng c :

- So snh byte hay word ca chui ngun vi chui ch. Cp thanh ghi DS:SI gi
a ch chui ngun. Cp thanh ghi ES:DI gi a ch chui ch. Cc thanh ghi
gi a ch offset SI, DI c t ng tng hay gim sau mi ln so snh. Chiu
tng gim a ch ty thuc c nh hng DF. DF=0 x l tng a ch. DF=1 x
l gim a ch.
- Lnh ny thng dng kt hp vi tip u lnh REPE thc hin vic so snh
hai chui hay hai dy vi nhau tm kim mt chui con trong mt chui ln.
Lc thanh ghi CX gi chiu di chui.
- C th c hai nguyn nhn lm ngng lnh so snh chui : hoc hai chui c byte
hay word khc nhau (ZF = 0), hoc hai chui ging nhau (ZF = 1).
- V d : REPE CMPSB

5.4 Lnh SCAS :
- Dng lnh : SCASB
SCASW
- Gii thch :
SCASB : AL - [ES:DI]
Nu DF=0 th : DI DI + 1
ngc li th : DI DI - 1
SCASW : AX - [ES:DI+1,ES:DI]
Nu DF=0 th : DI DI + 2
ngc li th : DI DI - 2
- Tc ng c :

- Qut chui ngha l so snh byte trong thanh ghi AL hay word trong thanh ghi AX
vi chui ch. Cp thanh ghi ES:DI gi a ch chui ch. a ch chui ch
c t ng tng hay gim sau mi ln so snh. Chiu tng gim a ch ty
thuc c nh hng DF. DF=0 x l tng a ch. DF=1 x l gim a ch.
- Lnh ny thng dng kt hp vi tip u lnh REPNE thc hin vic tm
kim mt d liu trong mt chui. Lc thanh ghi CX gi chiu di chui.
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.42 T chc v cu trc my tnh TP LNH 8086/8088
- C th c hai nguyn nhn lm ngng lnh qut chui : hoc tm thy d liu
trong chui (ZF=1 hay CX 0), hoc ht chui m vn cha tm thy d liu (ZF=0
hay CX=0).
- V d : REPNE SCASW

5.5 Lnh LODS :
- Dng lnh : LODSB
LODSW
- Gii thch :
LODSB : AL [DS:SI]
Nu DF=0 th : SI SI + 1
ngc li th : SI SI - 1
LODSW : AX [DS:SI+1,DS:SI]
Nu DF=0 th : SI SI + 2
ngc li th : SI SI - 2
- Tc ng c :

- Np chui ngun byte vo thanh ghi AL hay chui ngun word vo thanh ghi AX.
Cp thanh ghi DS:SI gi a ch chui ngun. a ch chui ngun c t ng
tng hay gim sau mi ln np. Chiu tng gim a ch ty thuc c nh hng
DF. DF=0 x l tng a ch. DF=1 x l gim a ch.

5.6 Lnh STOS :
- Dng lnh : STOSB
STOSW
- Gii thch :
STOSB : [ES:DI] AL
Nu DF=0 th : DI DI + 1
ngc li th : DI DI - 1
STOSW : [ES:DI+1,ES:DI] AX
Nu DF=0 th : DI DI + 2
ngc li th : DI DI - 2
- Tc ng c :

- Ct byte trong thanh ghi AL hay word trong thanh ghi AX vo chui ch. Cp
thanh ghi ES:DI gi a ch chui ch. a ch chui ch c t ng tng hay
gim sau mi ln ct. Chiu tng gim a ch ty thuc c nh hng DF. DF=0
x l tng a ch. DF=1 x l gim a ch.

6. Chuyn iu khin :
6.1 Lnh CALL :
- Dng lnh : CALL nearlabel CALL mem16
CALL farlabel CALL mem32
CALL reg16
- Gii thch :
nearlabel : PUSH IP
IP a ch lnh k + di 2 byte
farlabel : PUSH CS
PUSH IP
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.43
CS a ch segment
IP a ch offset
reg16 : PUSH IP
IP reg16
mem16 : PUSH IP
IP [a ch +1,a ch]
mem32 : PUSH CS
PUSH IP
CS [a ch +3,a ch+2]
IP [a ch +1,a ch]
- Tc ng c :

- Gi chng trnh con. Qu trnh gi chng trnh con c thc hin qua 2 bc :
Ct a ch tr v - chnh l a ch lnh ngay sau lnh CALL - vo chng.
Chuyn s thi hnh chng trnh n a ch lnh u tin ca chng trnh
con.
- a ch tr v chnh l ni dung hin ti ca cp thanh ghi CS:IP.
- Lnh gi trc tip n nhn nearlabel ch ct ni dung IP, v np gi tr offset mi
vo IP (ni dung CS khng i) nn ch c th dng gi bn trong mt
segment. Lnh ny cn c gi l lnh gi gn hay gi trong segment. Nhn
nearlabel cn c gi l nhn gn v c kch thc 2 byte.
V d : CALL 0F008h
- Lnh gi trc tip n nhn farlabel ct ni dung IP ln CS, sau np gi tr
offset mi vo IP, np gi tr segment mi vo CS nn c th dng gi n bt
k v tr b nh no cng c. Lnh ny cn c gi l lnh gi xa hay gi
ngoi segment. Nhn farlabel cn c gi l nhn xa v c kch thc 4 byte.
V d : CALL 3000:F008
- Lnh gi gin tip qua thanh ghi reg16 cng l mt lnh gi gn. Lc a ch
chng trnh con c np vo thanh ghi trc khi thc hin lnh gi.
V d : MOV DX,0F008h
CALL DX
- Lnh gi gin tip qua b nh mem16 cng l mt lnh gi gn. Lc a ch
chng trnh con c t ti nh c a ch hiu dng trong lnh.
V d : CALL [BX+3000h]
- Lnh gi gin tip qua b nh mem32 l mt lnh gi xa. Lc a ch chng
trnh con t ti nh c a ch hiu dng trong lnh phi l a ch 4 byte. Lc
cn phi ch r ra hot ng b nh 32 bit bng cch dng ton t DWORD
PTR.
V d : CALL DWORD PTR [SI+2000h]
- Vi lnh gi gin tip qua b nh ta c th t chc sp xp cc a ch chng
trnh con thnh mt bng trong b nh gi l bng
nhy. Lc mi chng trnh con s c gi
theo s th t ca n trong bng nhy.
- V d bng nhy gn :

Chng trnh con 0 a ch 476Ah.
Chng trnh con 1 a ch 0F008h.
Chng trnh con 2 a ch 0A234h.

OF DF IF SF ZF AF PF CF

6A 47
08 F0
34 A2
3000h
CTC 0
476Ah
A234h
F008h
CTC 2
CTC 1
(a ch u bng)


Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.44 T chc v cu trc my tnh TP LNH 8086/8088
gi chng trnh con 2 ta thc hin :
MOV BX,2 ; s th t chng trnh con.
ADD BX,BX ; nhn 2.
CALL [BX+3000h] ; gi chng trnh con.

6.2 Lnh JMP :
- Dng lnh : JMP shortlabel JMP mem16
JMP nearlabel JMP mem32
JMP farlabel JMP reg16
- Gii thch :
shortlabel : IP IP + di (m rng du 16 bit)
nearlabel : IP a ch
farlabel : CS a ch segment
IP a ch offset
reg16 : IP reg16
mem16 : IP [a ch +1,a ch]
mem32 : CS [a ch +3,a ch+2]
IP [a ch +1,a ch]
- Tc ng c :

- Nhy khng iu kin. Lnh nhy khng iu kin thc hin ging nh lnh gi
nhng khng c bc lu li a ch tr v.
- Lnh nhy n nhn ngn shortlabel l lnh nhy tng i. Ni n phi nm
trong phm vi t -128 n +127 so vi v tr ca lnh nhy. Ton hng ngun
trong lnh ch l byte di cng thm vo thanh ghi IP. Byte di ny c
m rng du trc khi cng vo thanh ghi IP.
- V d : JMP SHORT 18h
JMP 0F008h
JMP DWORD PTR [3000h]

6.3 Lnh RET :
- Dng lnh : RET RETF
RET immed8 RETF immed8
- Gii thch :
RET : POP IP
RETF : POP IP
POP CS
RET immed8 : POP IP
SP SP + immed8
RETF immed8 : POP IP
POP CS
SP SP + immed8
- Tc ng c :

- Tr v t chng trnh con. Lnh tr v l lnh dng kt thc mt chng trnh
con.
- Lnh RET kt thc mt chng trnh con gn.
- Lnh RETF kt thc mt chng trnh con xa.
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.45
- Dng lnh tr v c ton hng immed8 dng cho cc chng trnh con c s dng
thng s trong chng. Khi , ton hng ngun immed8 s c cng vo thanh
ghi SP chnh li v tr nh chng sau khi gi chng trnh con, trnh tht thot
b nh dng cho chng.

6.4 Lnh nhy c iu kin :
- Dng lnh : Jcond shortlabel
- Gii thch : Nu tha iu kin th nhy tng i
IP a ch lnh k + di (m rng du 16 bit)
ngc li khng lm g c (qua lnh k).
- Tc ng c :

- Lnh nhy c iu kin dng trng thi cc c lm iu kin.
- Sau y l bng m lnh nhy c iu kin cng vi iu kin nhy.

M lnh Gii thch iu kin
JE/JZ Nhy nu bng/khng ZF = 1
JL/JNGE Nhy nu nh hn/khng ln hn hoc bng (SF xor OF) = 1
JLE/JNG Nhy nu nh hn hoc bng /khng ln hn ((SF xor OF) or ZF) = 1
JB/JNAE/JC Nhy nu di /khng trn hoc bng/nh CF = 1
JBE/JNA Nhy nu di hoc bng /khng trn (CF or ZF) = 1
JP/JPE Nhy nu kim tra / kim tra chn PF = 1
JO Nhy nu trn OF = 1
JS Nhy nu du SF = 1
JNE/JNZ Nhy nu khng bng/khc khng ZF = 0
JNL/JGE Nhy nu khng nh hn/ln hn hoc bng (SF xor OF) = 0
JNLE/JG Nhy nu khng nh hn hoc bng /ln hn ((SF xor OF) or ZF) = 0
JNB/JAE/JNC Nhy nu khng di /trn hoc bng/khng nh CF = 0
JNBE/JA Nhy nu khng di hoc bng /trn (CF or ZF) = 0
JNP/JPO Nhy nu khng kim tra / kim tra l PF = 0
JNO Nhy nu khng trn OF = 0
JNS Nhy nu khng du SF = 0

- V d : MOV CX,3 ; thc hin mt vng lp lm 3 ln.
MOV AX,0
Nhan: ADD AX,12
DEC CX
JNZ Nhan ; nhy n lnh ti v tr Nhan nu CX 0.
MOV [3000h],AX

6.5 Lnh LOOP :
Dng lnh 1 : LOOP shortlabel
- Gii thch : gim CX, lp vng (nhy) nu CX 0
IP a ch lnh k + d di (m rng du 16 bit)
- Tc ng c :

- Lp vng khng iu kin. CX gi s ln lp. Rt tin dng trong vic to ra cc
vng lp. Chng hn nh v d trong phn lnh nhy c iu kin c th vit li
gn hn nh sau :
MOV CX,3
MOV AX,0
Nhan: ADD AX,12
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.46 T chc v cu trc my tnh TP LNH 8086/8088
LOOP Nhan
MOV [3000h],AX
- Mt trong nhng ng dng ph bin ca lnh lp vng l to ra cc vng lm tr.
- V d : MOV CX,10
Nhan: LOOP Nhan ; vng lp lm 10 ln lnh LOOP

MOV CX,0
Nhan: LOOP Nhan ; vng lp lm 65536 ln lnh LOOP

Dng lnh 2 : LOOPE/LOOPZ shortlabel
- Gii thch : gim CX, lp vng (nhy) nu CX 0 v ZF = 1
IP a ch lnh k + d di (m rng du 16 bit)
- Tc ng c :

- Lp vng nu bng / nu khng. Hai iu kin CX 0 v ZF = 1 phi tha ng
thi th lnh mi lp vng. Nu khng, khng lm g c (qua lnh k).
- i khi ngi ta xt cc iu kin khng lp cn gi l iu kin thot khi
vng lp : CX = 0 hay ZF = 0. C th xem l cc nguyn nhn gy ra kt thc
vng lp.

Dng lnh 3 : LOOPNE/LOOPNZ shortlabel
- Gii thch : gim CX, lp vng (nhy) nu CX 0 v ZF = 0
IP a ch lnh k + d di (m rng du 16 bit)
- Tc ng c :

- Lp vng nu khng bng / nu khc khng. Hai iu kin CX 0 v ZF = 0
phi tha ng thi th lnh mi lp vng. Nu khng, khng lm g c (qua lnh
k).
- i khi ngi ta xt cc iu kin khng lp cn gi l iu kin thot khi
vng lp : CX = 0 hay ZF = 1. C th xem l cc nguyn nhn gy ra kt thc
vng lp.

6.6 Lnh JCXZ :
- Dng lnh : JCXZ shortlabel
- Gii thch : Nu CX = 0 th
IP a ch lnh k + d di (m rng du 16 bit)
- Tc ng c :

- Nhy nu CX=0. Thng dng sau LOOPE, LOOPNE, REPE, REPNE xc
nh nguyn nhn kt thc vng lp.
- V d : REPE CMPSB ; so snh 2 chui
JCXZ nhan
( on chng trnh x l cho trng hp chui khc nhau)

nhan: ( on chng trnh x l cho trng hp chui ging nhau)


6.7 Lnh INT :
- Dng lnh : INT immed8
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.47
INT 3
- Gii thch : PUSHF
PUSH CS
PUSH IP
CS [(s ngt * 4)+3, (s ngt * 4)+2]
IP [(s ngt * 4)+1, (s ngt * 4)]
- Tc ng c :

- Ngt qung mm. Thc cht ca lnh ngt qung l gi n mt chng trnh con
c bit gi l chng trnh phc v ngt qung.
- Cch thc hin lnh ngt qung chnh l cch gi xa gin tip qua b nh 32 bit.
- S ngt 1 byte immed8 cung cp trong lnh chnh l s th t ca chng trnh
con phc v ngt qung. Nh vy nn mc d lnh ngt qung l lnh gi xa
nhng li rt ngn.
- Bng nhy trong trng hp ny c gi l bng vector ngt qung. V tr ca
vector ngt qung c xc nh bng cch ly s ngt nhn 4. Kt qu ny c th
xem l a ch vt l cng c hoc l a ch offset ly theo segment 0000 cng
c.
- im khc bit gia lnh ngt qung v lnh gi xa l thao tc ct thanh ghi trng
thi (c) vo chng PUSHF. Chnh v th nn chng trnh con phc v ngt
qung phi c kt thc bng mt lnh tr v khc l IRET.
- Cc chng trnh con phc v ngt qung thng c dng cho cc chng trnh
h thng (h iu hnh, chng trnh giao tip vi cc thit b, cc chng trnh
con s dng thng xuyn, ...) hn l dng cho chng trnh ca ngi s dng.
- S ngt cng theo qui c ca h thng nh sau :
00h 07h : ngt h thng.
08h 0Fh, 70h 77h : ngt cng.
Cn li : ngt mm.
- Mt s ngt thng dng :
INT 10h : mn hnh.
INT 13h : a.
INT 14h : thng tin lin lc.
INT 16h : bn phm.
INT 17h : my in
INT 21h : cc phc v ca MS-DOS.
INT 20h : kt thc chng trnh, tr v DOS.

- Mi chng trnh con phc v ngt qung c th thc hin nhiu chc nng bn
trong ngha l cc phc v c chia nh ra na. V d ngt phc v mn hnh c
chc nng chn ch mn hnh, chc nng nh v im nhy (cursor), chc
nng xut k t ra mn hnh, chc nng ha, . . .
- Thng s ca chng trnh phc v ngt qung thng c truyn thng qua cc
thanh ghi u vo (input) v k?t qu? thi hnh chng trnh con s gi trong cc
thanh ghi u ra (output).
- V d : dng ngt 17h, chc nng 0 xut k t ra my in.
Input : AH = s chc nng (trong trng hp ny l 0).
AL = k t cn in (m ASCII).
DX = s th t my in (0=LPT1, 1=LPT2, . . .)
Output : AL = trng thi
Bit ngha (nu = 1)
OF DF IF SF ZF AF PF CF
0


Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.48 T chc v cu trc my tnh TP LNH 8086/8088
0 Qu thi gian i my in.
1,2 Khng dng.
3 Li xut nhp.
4 My in ang c chn.
5 Ht giy.
6 My in nhn k t.
7 My in khng bn.
- Nh vy in k t 'A' ra my in ta vit on chng trnh sau :
MOV AH,0 ; np s chc nng.
MOV AL,041h ; m ASCII ca k t 'A'.
MOV DX,0 ; np s th t my in LPT1.
INT 17h ; gi ngt 17h in.
MOV [3000h],AL ; ct trng thi my in.

6.8 Lnh INTO :
- Dng lnh : INTO
- Gii thch : PUSHF
PUSH CS
PUSH IP
- Tc ng c :

- Ngt qung nu trn (OF = 1).

6.9 Lnh IRET :
- Dng lnh : IRET
- Gii thch : POP IP
POP CS
POPF
- Tc ng c :

- Tr v t chng trnh phc v ngt qung.

7. iu khin b x l :
7.1 Lnh CLC :
- Dng lnh : CLC
- Gii thch : CF 0
- Tc ng c :

- Xa c nh v 0.

7.2 Lnh STC :
- Dng lnh : STC
- Gii thch : CF 1
- Tc ng c :

- Lp c nh ln 1.

7.3 Lnh CMC :
- Dng lnh : CMC
- Gii thch : CF b 1 ca CF
- Tc ng c :
OF DF IF SF ZF AF PF CF
0
OF DF IF SF ZF AF PF CF
1
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh
TP LNH 8086/8088 T chc v cu trc my tnh Tr.49

- Ly b c nh.

7.4 Lnh NOP :
- Dng lnh : NOP
- Gii thch : khng lm g c
- Tc ng c :

- Khng lm g c. Dng to ra cc khong lm tr ngn.

7.5 Lnh CLD :
- Dng lnh : CLD
- Gii thch : DF 0
- Tc ng c :

- Xa c nh hng v 0. X l tng a ch trong cc lnh x l chui.

7.6 Lnh STD :
- Dng lnh : STD
- Gii thch : DF 1
- Tc ng c :

- Lp c nh hng ln 1. X l gim a ch trong cc lnh x l chui.

7.7 Lnh CLI :
- Dng lnh : CLI
- Gii thch : IF 0
- Tc ng c :

- Xa c ngt qung v 0. Cm ngt qung cng.

7.8 Lnh STI :
- Dng lnh : STI
- Gii thch : IF 1
- Tc ng c :

- Lp c ngt qung ln 1. Cho php ngt qung cng.

7.9 Lnh HLT :
- Dng lnh : HLT
- Gii thch : CPU vo trng thi dng.
- Tc ng c :

- Dng CPU, ch mt ngt qung cng xy ra (INTR hay NMI).

7.10 Lnh WAIT :
- Dng lnh : WAIT
- Gii thch : CPU vo trng thi i.
- Tc ng c :

OF DF IF SF ZF AF PF CF
0
OF DF IF SF ZF AF PF CF
0
OF DF IF SF ZF AF PF CF
1
OF DF IF SF ZF AF PF CF
0
OF DF IF SF ZF AF PF CF
1
OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF



Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM
Tr.50 T chc v cu trc my tnh TP LNH 8086/8088
- CPU vo trng thi i cho n khi ng TEST tc ng.

7.11 Tip u lnh LOCK :
- Dng lnh : LOCK lnh
- Gii thch : Kha cc tuyn trong khi thi hnh lnh theo sau.
- Tc ng c :

- Kha cc tuyn khi thi hnh lnh theo sau. Khng cho php cc vi x l khc yu
cu tuyn (chng hn DMA).

7.12 Lnh ESC :
- Dng lnh : ESC immed,reg
ESC immed,mem
- Gii thch : a lnh ra tuyn d liu.
- Tc ng c :

- Pht ra mt lnh cho vi mch ng x l 8087.
- V d : ESC 6,AL
ESC 4,[2000h]


OF DF IF SF ZF AF PF CF

OF DF IF SF ZF AF PF CF

You might also like