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 V d . S h 10 V d . S h 16 V d : : : : : : B ( l 1 bit nh phn). 01101101B, 11111111B , hay D ( l mt s thuc h 10). 65535, 1000 H v bt u bng s ( l mt s thuc h 16). 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.

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 :
1000h B nh 34 D liu 1234h 1001h 12 (a ch)

- 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 mem,reg MOV reg,mem MOV reg16,segreg MOV segreg,reg16 - Gii thch : th thn - Tc ng c : OF DF IF SF ZF AF

MOV MOV MOV MOV

reg,immed mem,immed mem16,segreg segreg,mem16

PF CF

- Chp ton hng ngun vo ton hng ch. - V d : MOV AX,CX ; AX CX

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

TP LNH 8086/8088

T chc v cu trc my tnh Tr.29

MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV

DL,BH ; DL BH [SI+1000h],BP ; [SI+1001h, SI+1000h] BP DX,[1000h] ; DX [1001h,1000h] DX,DS ; DX DS ES,BX ; ES BX DI,12h ; DI 12h AL,12h ; AL 12h BYTE PTR [1000h],12h ; [1000h] 12h WORD PTR [2000h],1200h ; [2001h,2000h] 1200h [BX],DS ; [BX+1,BX] DS SS,[2000h] ; SS [2001h,2000h] PUSH segreg thn
PF CF

2.2 Lnh PUSH : - Dng lnh : PUSH reg16 PUSH mem16 - Gii thch : SP SP-2 [SS:SP+1,SS:SP] - Tc ng c : OF DF IF SF ZF AF

- 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 POP - Gii thch : th SP - Tc ng c : OF reg16 POP mem16 [SS:SP+1,SS:SP] SP+2
DF IF SF ZF AF PF CF

segreg

- 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 accum,reg16 - Gii thch : th thn - Tc ng c : OF DF IF SF ZF AF XCHG mem,reg XCHG reg,mem
PF CF

- 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

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

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 : OF DF IF SF ZF AF

PF CF

- 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 : OF DF IF SF ZF AF

PF CF

- 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 : OF DF IF SF ZF AF PF

CF

- 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 a ch MOV CX,1000h u bng 0 MOV DS,CX 1000:2000 0 1 Ch s 1 MOV BX,2000h ; a ch u bng ( DS:BX ) 4 2 phn t MOV AL,5 ; ch s ( AL ) 9 3 XLAT ; tra bng 16 4 25 ----------------------5 36 6 Sau khi lm xong lnh XLAT : D liu 49 2 7 AL = 25 = 5 64 8 81 - Lnh XLAT c ng dng trong m ha d liu. 9 2.8 Lnh LEA : - Dng lnh : LEA reg16,mem

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

TP LNH 8086/8088

T chc v cu trc my tnh Tr.31

- Gii thch : th a ch - Tc ng c : OF DF IF SF ZF

AF PF CF

- 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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - 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 FlagsL - Tc ng c : OF DF IF SF ZF

AF PF CF

- Np 8 bit thp ca thanh ghi c vo thanh ghi AH. 2.12 Lnh SAHF : - Dng lnh : SAHF - Gii thch : FlagsL AH - Tc ng c : OF DF IF SF

ZF AF PF CF

- 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 : OF DF IF SF ZF AF PF CF - y thanh ghi c vo chng.

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

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 : OF DF IF SF ZF AF PF CF

- Ly thanh ghi c t chng ra. 3. Nhm lnh s hc : 3.1 Lnh ADD : - Dng lnh : ADD reg,reg ADD mem,reg ADD reg,mem - Gii thch : th th + thn - Tc ng c : OF DF IF SF ZF AF

ADD reg,immed ADD mem,immed ADD accum,immed


PF CF

- 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 : OF DF IF SF ZF AF PF CF

- 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 - Gii thch : th th + 1 - Tc ng c : OF DF IF SF ZF

INC
AF PF CF

mem

- 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 (b3b2b1b0 ca AL) > 9 hoc AF=1 th AL (AL+6) and 0Fh, AH AH+1, CF 1, AF 1

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

TP LNH 8086/8088

T chc v cu trc my tnh Tr.33

- Tc ng c :

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

- 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 (b3b2b1b0 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 : OF DF IF SF ZF AF PF CF
? ? ? ?

- 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 mem,reg SUB reg,mem - Gii thch : th th - thn - Tc ng c : OF DF IF SF ZF

SUB SUB SUB


AF PF CF

reg,immed mem,immed accum,immed

- 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 SBB mem,reg SBB SBB reg,mem SBB - Gii thch : th th - thn - CF - Tc ng c : OF DF IF SF ZF AF PF CF

reg,immed mem,immed accum,immed

- 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 - Gii thch : th th - 1 DEC mem

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

Tr.34 T chc v cu trc my tnh

TP LNH 8086/8088

- Tc ng c :

OF DF IF SF ZF AF PF CF

- 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 - Gii thch : th b 2(th) - Tc ng c : OF DF IF SF ZF

NEG mem
AF PF CF

- Ly b 2 ton hng ch. 3.9 Lnh CMP : - Dng lnh : CMP reg,reg CMP mem,reg CMP reg,mem - Gii thch : th - thn - Tc ng c : OF DF IF SF

CMP reg,immed CMP mem,immed CMP accum,immed


ZF AF PF CF

- 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 (D3D2D1D0 ca AL) > 9 hoc AF=1 th AL (AL - 6) and 0Fh, AH AH - 1, CF 1, AF 1 - Tc ng c : OF DF IF SF ZF AF PF CF
? ? ? ?

- 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 (D3D2D1D0 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 : OF DF IF SF ZF AF PF CF
?

- 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 :
Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM

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 : OF DF IF SF ZF AF PF CF
? ? ? ?

- 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 - Tc ng c : OF DF IF

IMUL mem
SF ZF AF PF CF ? ? ? ?

- 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 : OF DF IF SF ZF AF PF CF
? ? ?

- 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 : OF DF IF SF ZF AF PF CF
? ? ? ? ? ?

- 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.

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

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 - Tc ng c : OF DF IF
?

IDIV mem
SF ZF AF PF CF ? ? ? ? ?

- 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 : OF DF IF SF ZF AF PF CF
? ? ?

- 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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - 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
Bin son : Nguyn Xun Minh i hc Bch khoa tp.HCM

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 : OF DF IF SF ZF AF PF CF
?

- 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 : OF DF IF SF ZF AF PF CF
?

- 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 : OF DF IF SF ZF AF PF CF
?

- 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 : OF DF IF SF ZF AF PF CF
?

- 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 :

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

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 : OF DF IF SF ZF AF PF CF
?

- 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 : OF DF IF SF ZF AF PF CF
?

- 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 : OF DF IF SF ZF AF PF CF
?

- 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 : OF DF IF SF ZF AF PF CF
? 0

- 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 mem,reg TEST reg,mem - Gii thch : th AND thn. TEST reg,immed TEST mem,immed TEST accum,immed

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

TP LNH 8086/8088

T chc v cu trc my tnh Tr.39

- Tc ng c :

OF DF IF SF ZF AF PF CF 0 ? 0

- 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 OR mem,reg OR OR reg,mem OR - Gii thch : th th OR thn. - Tc ng c : OF DF IF SF ZF AF PF CF
? 0

reg,immed mem,immed accum,immed

- 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 : OF DF IF SF ZF AF PF CF
? 0

- 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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - 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
i hc Bch khoa tp.HCM Bin son : Nguyn Xun Minh

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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - 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

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

TP LNH 8086/8088

T chc v cu trc my tnh Tr.41

MOV DI,0C200h MOV CX,40h CLD REP MOVSW

; a ch chui ch. ; s ln chp. ; xa c DF, x l tng a ch.

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

DI + 1 DI - 1 DI + 2 DI - 2

- 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 ngc li th : DI SCASW : AX - [ES:DI+1,ES:DI] Nu DF=0 th : DI ngc li th : DI - Tc ng c : OF DF IF SF ZF AF PF CF

DI + 1 DI - 1 DI + 2 DI - 2

- 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.

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - 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 PUSH CS farlabel : PUSH IP

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

TP LNH 8086/8088

T chc v cu trc my tnh Tr.43

reg16 : mem16 : mem32 :

CS IP PUSH IP PUSH IP PUSH PUSH CS IP

a ch segment a ch offset IP reg16 IP [a ch +1,a ch] CS IP [a ch +3,a ch+2] [a ch +1,a ch]

- Tc ng c :

OF DF IF SF ZF AF PF CF

- 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 3000h 6A 47 nhy. Lc mi chng trnh con s c gi 08 F0 (a ch u bng) theo s th t ca n trong bng nhy. A2 34 - 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.
476Ah CTC 0

A234h i hc Bch khoa tp.HCM

CTC 2

Bin son : Nguyn Xun Minh F008h CTC 1

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 IP [a ch +1,a ch] mem16 : mem32 : CS [a ch +3,a ch+2] IP [a ch +1,a ch] - Tc ng c : OF DF IF SF ZF AF PF CF - 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 RET - Gii thch : RET : RETF : RETF RETF immed8 IP IP CS IP SP + immed8 IP CS SP + immed8
ZF AF PF CF

immed8

POP POP POP RET immed8 : POP SP RETF immed8 : POP POP SP - Tc ng c : OF DF IF SF

- 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.

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

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

- V d : Nhan:

MOV MOV ADD DEC JNZ MOV

CX,3 AX,0 AX,12 CX Nhan [3000h],AX

; thc hin mt vng lp lm 3 ln.

; nhy n lnh ti v tr Nhan nu CX 0.

6.5 Lnh LOOP : shortlabel Dng lnh 1 : LOOP - 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 : OF DF IF SF ZF AF PF CF - 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

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

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 Nhan: LOOP CX,0 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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - 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

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

TP LNH 8086/8088

T chc v cu trc my tnh Tr.47

- Gii thch :

INT 3 PUSHF PUSH PUSH CS IP

CS IP [(s ngt * 4)+3, (s ngt * 4)+2] [(s ngt * 4)+1, (s ngt * 4)]
0

- Tc ng c :

OF DF IF SF ZF AF PF CF

- 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)

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

Tr.48 T chc v cu trc my tnh

TP LNH 8086/8088 Qu thi gian i my in. Khng dng. Li xut nhp. My in ang c chn. Ht giy. My in nhn k t. My in khng bn.

0 1,2 3 4 5 6 7

- 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 : OF DF IF

SF ZF AF PF CF

- Ngt qung nu trn (OF = 1). 6.9 Lnh IRET : - Dng lnh : IRET - Gii thch : POP POP POPF - Tc ng c : OF

IP CS
DF IF SF ZF AF PF CF

- 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 : OF DF IF - Xa c nh v 0. 7.2 Lnh STC : - Dng lnh : STC - Gii thch : CF 1 - Tc ng c : OF DF IF - 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

SF ZF AF PF CF 0

SF ZF AF PF CF 1

PF CF

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

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 : OF DF IF SF ZF

AF PF CF 0

- 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 : OF DF IF
0

SF ZF AF PF CF

- 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 : OF DF IF
1

SF ZF AF PF CF

- 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 : OF DF IF
0

SF ZF AF PF CF

- Xa c ngt qung v 0. Cm ngt qung cng. 7.8 Lnh STI : - Dng lnh : STI - Gii thch : IF 1 - Tc ng c : OF DF IF
1

SF ZF AF PF CF

- 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 : OF DF IF SF ZF AF PF CF - 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

i hc Bch khoa tp.HCM

Bin son : Nguyn Xun Minh

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 : OF DF IF SF ZF AF PF CF - 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 : OF DF IF SF ZF AF PF CF - Pht ra mt lnh cho vi mch ng x l 8087. - V d : ESC 6,AL ESC 4,[2000h]

Bin son : Nguyn Xun Minh

i hc Bch khoa tp.HCM

You might also like