Professional Documents
Culture Documents
Helenh
Helenh
HÖ lÖnh 80x86 71
PHô LôC
Phô lôc A. HÖ LÖNH 80x86
Chóng ta cã thÓ chia c¸c lÖnh cña 80x86 thµnh 6 nhãm
sau:
1. C¸c lÖnh chuyÓn d÷ liÖu
2. C¸c lÖnh sè häc
3. C¸c lÖnh thao t¸c bit
4. C¸c lÖnh lµm viÖc víi x©u ký tù
5. C¸c lÖnh rÏ nh¸nh
6. C¸c lÖnh cßn l¹i
Tríc khi xem xÐt cô thÓ chøc n¨ng vµ có ph¸p tõng lÖnh,
chóng ta h·y nãi qua vai trß c¸c bit cê, ý nghÜa vµ mét sè
quy ®Þnh.
a. VÞ trÝ c¸c bit cê ®îc bè trÝ nh sau trong thanh ghi
cê:
O D I T S Z A P C
trong ®ã:
O – cê trµn (Overflow flag) S – cê dÊu (Sign flag)
D – cê híng (Direction flag) Z – cê zero (Zero flag)
I – cê ng¾t (Interrupt flag) A – cê trµn phô (Auxiliary
flag)
T – cê bÉy (Trap flag) P – cê ch½n/lÎ (Parity flag)
C – cê carry (Carry flag)
C¸c ký hiÖu qui t¾c vÒ sù thay ®æi tr¹ng th¸i cña c¸c cê
sau mçi lÖnh:
? : kh«ng x¸c ®Þnh
* : cê thay ®æi tïy thuéc vµo kÕt qu¶ cña lÖnh
72 c¸c bµi tËp lËp tr×nh b»ng ng«n ng÷ assembly
0 : gi¸ trÞ cê lµ 0
1 : gi¸ trÞ cê lµ 1
b. Mét sè qui íc vÒ c¸c lo¹i to¸n h¹ng:
SRC to¸n h¹ng nguån
DST to¸n h¹ng ®Ých
reg to¸n h¹ng lµ thanh ghi
reg8/reg16 to¸n h¹ng lµ thanh ghi 8/16 bit
mem to¸n h¹ng lµ biÕn nhí
mem16 to¸n h¹ng lµ biÕn nhí 16 bit
data to¸n h¹ng lµ mét h»ng sè
segreg to¸n h¹ng lµ thanh ghi segment
c. Trong ng«n ng÷ Assembly kh«ng ph©n biÖt ch÷
hoa vµ ch÷ thêng
VÝ dô: MOV AX,BX vµ mov ax,bx ®Òu ®îc.
Chó ý:
data chØ n»m ë to¸n h¹ng nguån (SRC)
kh«ng ®îc chuyÓn gi¸ trÞ gi÷a c¸c biÕn
nhí (mem) cho nhau:
mov mem1, mem2
lµ kh«ng cho phÐp, song cã thÓ thùc hiÖn mét c¸ch
gi¸n tiÕp, vÝ dô:
mov reg, mem2
mov mem1,reg
kh«ng ®îc chuyÓn mét h»ng sè vµo
thanh ghi segment, cã nghÜa:
mov segreg, data
lµ kh«ng cho phÐp, song cã thÓ thùc hiÖn mét c¸ch
gi¸n tiÕp th«ng qua mét thanh ghi, vÝ dô:
mov reg16, data
mov segreg, reg16
khi to¸n h¹ng lµ c¸c thanh ghi BX, SI, DI
vµ BP ®øng trong dÊu ngoÆc vu«ng th× ®ã lµ biÕn
con trá, cã nghÜa lµ néi dung cña thanh ghi lµ ®Þa chØ
OFFSET cña mét « nhí.
VÝ dô: mov AX,[BX]
cã nghÜa lµ ®a néi dung « nhí (2 byte) ®îc trá bëi DS:
[BX] (DS chøa phÇn ®Þa chØ SEGMENT – mÆc ®Þnh,
BX chøa phÇn ®Þa chØ OFFSET) vµo thanh ghi AX.
74 c¸c bµi tËp lËp tr×nh b»ng ng«n ng÷ assembly
A.1.8 LÖnh IN
Chøc n¨ng: §äc gi¸ trÞ 8 hoÆc 16 bit tõ mét cæng vµo
thanh ghi AL (trêng hîp cæng 8 bit) hoÆc AX (trêng hîp
cæng 16 bit).
Có ph¸p: IN AL,®Þa chØ cæng (víi cæng 8 bit)
hoÆc IN AX,®Þa chØ cæng (víi cæng 16 bit)
Chó ý:
NÕu ®Þa chØ cæng nhá h¬n 256 (gi¸ trÞ n»m trong 1
byte) th× cã thÓ ®a ®Þa chØ ®ã trùc tiÕp vµo lÖnh IN,
ngîc l¹i nÕu ®Þa chØ trÞ cæng lín h¬n hoÆc b»ng 256 th×
®Þa chØ cæng ph¶i ®a vµo thanh ghi DX vµ DX sÏ thay
cho ®Þa chØ ®øng trong lÖnh IN.
VÝ dô:
IN AX,08h(v× ®Þa chØ cæng lµ 8H < 256)
MOV DX,4f01h (v× ®Þa chØ cæng 4F01H
≥ 256)
IN AX,DX
O D I T S Z A P C
* * * * * *
(tæng) ®îc ®a vµo to¸n h¹ng ®Ých. Gi¸ trÞ cña to¸n h¹ng
nguån kh«ng thay ®æi.
Có ph¸p: ADc DST, SRC
reg1, reg2 reg, data
reg, mem mem,data
mem, reg
Tr¹ng th¸i c¸c bit cê:
O D I T S Z A P C
* * * * * *
O D I T S Z A P C
* * * * *
A.2.4 LÖnh AAA
Chøc n¨ng: HiÖu chØnh kÕt qu¶ cã trong thanh ghi AL
ngay sau khi thùc hiÖn phÐp céng ra d¹ng ASCII. ViÖc
hiÖu chØnh ®îc tiÕn hµnh nh sau:
NÕu gi¸ trÞ 4 bit thÊp cña thanh ghi AL>9 hoÆc gi¸ trÞ
cña bit cê trµn phô AF=1 th× tiÕn hµnh céng 06h vµo
AL, sau ®ã céng 1 vµo gi¸ trÞ thanh ghi AH vµ dùng cê
trµn phô AF lªn 1. TiÕp ®Õn ®a 4 bit cao cña thanh ghi
AL xuèng 0,
Ngîc l¹i, nÕu gi¸ trÞ 4 bit thÊp cña thanh ghi AL≤9 hoÆc
gi¸ trÞ cña bit cê trµn phô AF=0 th× chØ cÇn ®a 4 bit
cao cña thanh ghi AL xuèng 0.
Có ph¸p: AAA
Tr¹ng th¸i c¸c bit cê:
Phô lôc A. HÖ lÖnh 80x86 79
O D I T S Z A P C
? ? ? * ? *
VÝ dô:
Gi¶ sö AX=0535h vµ BL=39h th× sau khi céng vµ hiÖu
chØnh, kÕt qu¶ nh sau:
ADD AL,BL 00000101|00110101
|00111001
----------------------------------
00000101|01101110
AH=05h AL=6Eh
Chóng ta nhËn thÊy sau khi thùc hiÖn phÐp céng th× 4 bit
thÊp cña AL>9, nªn nÕu dïng lÖnh AAA sau phÐp trõ trªn
th× phÐp hiÖu chØnh tiÕn hµnh nh sau:
Céng 06h vµo AL:
AL + 06h = 74h
Céng 1 vµo thanh ghi AH vµ nh vËy AH=06h
§Æt 4 bit cao cña thanh ghi AL xuèng 0, ta cã AL=04h
KÕt qu¶ sau khi hiÖu chØnh b»ng lÖnh AAA th× AX=0604h
O D I T S Z A P C
? * * * * *
VÝ dô:
Gi¶ sö AL=28h vµ BL=68h th× sau khi céng vµ hiÖu
chØnh, kÕt qu¶ nh sau:
ADD AL,BL 0010|1000
0110|1000
------------------
1001|0000 = 90h
vµ sau phÐp céng nµy cê AF lªn 1, do v©y nÕu sau lÖnh
céng nµy sö dông lÖnh DAA th× ph¶i céng néi dung thanh
ghi AL víi 06h, tøc lµ:
AL + 06h =10100000 + 00000110=10100110=96h
KÕt qu¶ AL = 96h chø kh«ng ph¶i 90h
O D I T S Z A P C
* * * * * *
A.2.7 LÖnh SBB
Chøc n¨ng: Trõ gi¸ trÞ cña to¸n h¹ng ®Ých cho tæng cña
to¸n h¹ng nguån vµ gi¸ trÞ bit cê Carry (CF). KÕt qu¶
(hiÖu) ®îc ®a vµo to¸n h¹ng ®Ých. Gi¸ trÞ cña to¸n h¹ng
nguån kh«ng thay ®æi.
Có ph¸p: SBB DST, SRC
reg1, reg2 reg, data
reg, mem mem,data
Phô lôc A. HÖ lÖnh 80x86 81
mem, reg
Tr¹ng th¸i c¸c bit cê:
O D I T S Z A P C
* * * * * *
O D I T S Z A P C
* * * * *
O D I T S Z A P C
* * * * *
O D I T S Z A P C
* * * * * *
O D I T S Z A P C
? ? ? * ? *
VÝ dô:
Gi¶ sö AX=0438h vµ tiÕn hµnh thùc hiÖn phÐp trõ AX cho
mét h»ng sè lµ 35h:
SUB AL,35h 00000100|00111000
|00110101
--------------------------------
Phô lôc A. HÖ lÖnh 80x86 83
00110011
NÕu thùc hiÖn lÖnh AAS ngay sau lÖnh trõ nµy th× phÐp
hiÖu chØnh sÏ nh sau:
V× sau khi thùc hiÖn phÐp trõ, 4 bit thÊp cña AL<9, nªn
phÐp hiÖu chØnh chØ tiÕn hµnh nh sau:
§a 4 bit cao cña AL xuèng 0, tøc lµ AL = 00000011=03h
O D I T S Z A P C
? * * * * *
VÝ dô:
Gi¶ sö AL=86h vµ BL=07h th× sau khi thùc hiÖn phÐp
tÝnh trõ gi¸ trÞ cã trong AL cho gi¸ trÞ cã trong BL
SUB AL,BL 0010|1000
0000|0111
------------------
0111|1111 = 7Fh
NÕu thùc hiÖn lÖnh DAS ngay sau lÖnh trõ nµy th× hiÖu
chØnh sÏ nh sau:
V× gi¸ trÞ 4 bit thÊp cña AL>9 do vËy trõ gi¸ trÞ AL cho
06h:
84 c¸c bµi tËp lËp tr×nh b»ng ng«n ng÷ assembly
AL 0111|1111
|0110
-------------------
1111|1001 = 79h
VËy kÕt qu¶ AL = 79h vµ bit cê AF = 1
O D I T S Z A P C
* ? ? ? ? *
O D I T S Z A P C
* ? ? ? ? *
O D I T S Z A P C
? * * ? * ?
VÝ dô:
Gi¶ sö AL = 07h vµ BL = 09h
Thùc hiÖn phÐp nh©n sau:
MUL BL ; KÕt qu¶ AX = 3Fh=63
NÕu sau lÖnh nh©n nµy sö dông lÖnh hiÖu chØnh
AAM
th× phÐp hiÖu chØnh sÏ tiÕn hµnh nh sau:
Chia AL cho 0ah (10), cã nghÜa:
AL=63 chia cho 10 th× th¬ng ®Æt vµo AH=6 vµ d ®Æt
vµo AL=3
VËy sau hiÖu chØnh kÕt qu¶ sÏ lµ AX=0603h.
86 c¸c bµi tËp lËp tr×nh b»ng ng«n ng÷ assembly
NÕu gi¸ trÞ cña to¸n h¹ng bÞ chia lµ 32 bit vµ gi¸ trÞ
cña to¸n h¹ng chia lµ 16 bit th× ph¶i ®Æt gi¸ trÞ sè bÞ
chia vµo ®«i thanh ghi DX:AX vµ gi¸ trÞ sè chia vµo to¸n
h¹ng nguån (SRC), sau ®ã míi tiÕn hµnh phÐp chia. KÕt
qu¶ nh sau: AX chøa th¬ng vµ DX chøa phÇn d, cô thÓ
lµ:
DX : AX
vµ kÕt qu¶ AX chøa th¬ng vµ DX chøa
SRC
phÇn d
O D I T S Z A P C
? ? ? ? ? ?
®Òu lµ d¹ng sè cã dÊu (bit cao nhÊt cña 2 to¸n h¹ng mang
ý nghÜa vÒ dÊu chø kh«ng mang gi¸ trÞ t¹i vÞ trÝ ®ã – bit
cao nhÊt lµ 1 th× ®ã lµ sè ©m vµ bit cao nhÊt lµ 0 th×
®ã lµ sè d¬ng). PhÐp chia ®îc thùc hiÖn nh sau:
NÕu gi¸ trÞ cña to¸n h¹ng bÞ chia lµ 16 bit vµ gi¸ trÞ
cña to¸n h¹ng chia lµ 8 bit th× ph¶i ®Æt gi¸ trÞ sè bÞ
chia vµo thanh ghi AX vµ gi¸ trÞ sè chia vµo to¸n h¹ng
nguån (SRC), sau ®ã míi tiÕn hµnh phÐp chia. KÕt qu¶
nh sau: AL chøa th¬ng vµ AH chøa phÇn d, cô thÓ lµ:
AX vµ kÕt qu¶ AL chøa th¬ng vµ AH chøa phÇn
d SRC
NÕu gi¸ trÞ cña to¸n h¹ng bÞ chia lµ 32 bit vµ gi¸ trÞ
cña to¸n h¹ng chia lµ 16 bit th× ph¶i ®Æt gi¸ trÞ sè bÞ
chia vµo ®«i thanh ghi DX:AX vµ gi¸ trÞ sè chia vµo to¸n
h¹ng nguån (SRC), sau ®ã míi tiÕn hµnh phÐp chia. KÕt
qu¶ nh sau: AX chøa th¬ng vµ DX chøa phÇn d, cô thÓ
lµ:
DX : AX vµ kÕt qu¶ AX chøa th¬ng vµ DX chøa
phÇn d
SRC
O D I T S Z A P C
? ? ? ? ? ?
A.2.18 LÖnh AAD
Chøc n¨ng: HiÖu chØnh néi dung d¹ng BINARY cã trong
thanh ghi AL vÒ 2 byte d¹ng BCD (n»m ë AH vµ AL) ngay
tríc khi thùc hiÖn phÐp chia. ThuËt to¸n hiÖu chØnh ®îc
tiÕn hµnh nh sau:
Nh©n néi dung cña thanh ghi AH víi 0ah,
Céng néi dung cña thanh ghi AH víi AL,
88 c¸c bµi tËp lËp tr×nh b»ng ng«n ng÷ assembly
Chó ý:
HÇu hÕt c¸c lÖnh trong nhãm nµy khi thùc hiÖn cã t¸c
®éng lµm thay ®æi gi¸ trÞ c¸c bit cê.
O D I T S Z A P C
0 * * ? * 0
Chó ý:
Trong lËp tr×nh b»ng ng«n ng÷ Assembly hay sö dông
lÖnh AND víi 2 môc ®Ých:
T¸ch bit:
Muèn xem xÐt tr¹ng th¸i (1 hay 0) mét bit nµo ®ã trong
mét to¸n h¹ng th× tèt nhÊt tiÕn hµnh t¸ch bit ®ã ra
b»ng lÖnh AND, vÝ dô:
Néi dung 8 bit cña AL lµ xxxx|xxxx
Muèn xem bit thø 4 cña AL lµ 1 hay 0, thêng lµm nh sau:
AND AL, 0000|1000B
Sau lÖnh nµy 8 bit cña AL sÏ lµ: 0000|x000
90 c¸c bµi tËp lËp tr×nh b»ng ng«n ng÷ assembly
A.3.3 LÖnh OR
Chøc n¨ng: Thùc hiÖn chøc n¨ng HOÆC L¤GIC gi÷a hai
to¸n h¹ng. KÕt qu¶ ®Æt ë to¸n h¹ng ®Ých.
Có ph¸p: OR DST, SRC
reg1, reg2 reg, data
reg, mem mem,data
mem, reg
Tr¹ng th¸i c¸c bit cê:
O D I T S Z A P C
0 * * ? * 0
O D I T S Z A P C
0 * * ? * 0
Chó ý:
Trong lËp tr×nh b»ng ng«n ng÷ Assembly hay sö dông
lÖnh XOR ®Ó cho to¸n h¹ng b»ng 0, vÝ dô:
XOR AX,AX
th× gi¸ trÞ cña AX=0.
O D I T S Z A P C
0 * * ? * 0
reg
mem
Chó ý vÒ COUNT:
NÕu COUNT=1 th× cã thÓ ®Æt sè 1 trùc tiÕp trong
lÖnh, vÝ dô:
SHL/SAL DST,1
ý nghÜa cña viÖc dÞch tr¸i to¸n h¹ng 1 lÇn lµ nh©n ®«i
gi¸ trÞ cña to¸n h¹ng nÕu to¸n h¹ng lµ nguyªn d¬ng.
Cßn nÕu COUNT≥2 th× ph¶i nhê ®Õn CL/CX, cã nghÜa:
SHL/SAL DST,4 lµ kh«ng ®îc mµ ph¶i thay b»ng 2
lÖnh:
MOV CL,4
SHL/SAL DST,CL
Tr¹ng th¸i c¸c bit cê:
O D I T S Z A P C
* * * ? * *
O D I T S Z A P C
* * * ? * *
O D I T S Z A P C
* * * ? * *
CF
O D I T S Z A P C
* *
CF
O D I T S Z A P C
* *
CF
Có ph¸p: RCL DST, COUNT
reg
Phô lôc A. HÖ lÖnh 80x86 95
mem
Chó ý vÒ COUNT: Gièng c¸c lÖnh trªn.
Tr¹ng th¸i c¸c bit cê:
O D I T S Z A P C
* *
CF
Có ph¸p: RCR DST, COUNT
reg
mem
Chó ý vÒ COUNT: Gièng c¸c lÖnh trªn.
Tr¹ng th¸i c¸c bit cê:
O D I T S Z A P C
* *
Chøc n¨ng: ChuyÓn mét ký tù cña mét x©u theo tõng byte
(MOVSB) hay theo 2 byte (MOVSW) cã trong vïng nhí ®îc
trá bëi DS:SI sang vïng nhí ®îc trá bëi ES:DI. Sau mçi lÇn
chuyÓn mét (hoÆc hai byte) th× gi¸ trÞ cña SI vµ DI tù
®éng t¨ng lªn 1 (hoÆc 2) khi gi¸ trÞ cê híng DF=0 (chuyÓn
theo chiÒu t¨ng ®Þa chØ) hoÆc gi¶m ®i 1 (hoÆc 2) khi
gi¸ trÞ cê híng DF=1 (chuyÓn theo chiÒu gi¶m ®Þa chØ).
Có ph¸p: MOVSB
hoÆc
MOVSW
Chó ý: Tríc khi thùc hiÖn lÖnh nµy cÇn ph¶i:
Trá DS:SI ®Õn ®Çu vïng nhí chøa x©u cÇn chuyÓn ®i,
Trá ES:DI ®Õn ®Çu vïng nhí mµ x©u sÏ chuyÓn ®Õn,
vµ
X¸c lËp DF=0 hay DF=1 ®Ó biÕt viÖc chuyÓn c¸c ký tù
®îc thùc hiÖn theo chiÒu t¨ng hay gi¶m ®Þa chØ.
O D I T S Z A P C
* * * * * *
Chó ý: Tríc khi thùc hiÖn lÖnh nµy cÇn ph¶i:
Trá DS:SI ®Õn ®Çu vïng nhí thø nhÊt,
Trá ES:DI ®Õn ®Çu vïng nhí thø hai, vµ
98 c¸c bµi tËp lËp tr×nh b»ng ng«n ng÷ assembly
X¸c lËp DF=0 hay DF=1 ®Ó biÕt viÖc so s¸nh ®îc thùc
hiÖn theo chiÒu t¨ng hay gi¶m ®Þa chØ.
O D I T S Z A P C
* * * * * *
Chó ý: Tríc khi thùc hiÖn lÖnh nµy cÇn ph¶i:
Trá ES:DI ®Õn ®Çu vïng nhí sÏ chøa x©u cÇn so s¸nh,
X¸c lËp DF=0 hay DF=1 ®Ó biÕt viÖc so s¸nh ®îc thùc
hiÖn theo chiÒu t¨ng hay gi¶m ®Þa chØ.
A.4.6 C¸c tiÒn tè lÆp REP
REPE/REPNE/REPNZ/REPZ
TiÒn tè REP
Chøc n¨ng: TiÒn tè REP thùc hiÖn lÖnh lµm viÖc víi x©u ký
tù ®øng sau nã mét sè lÇn cã trong thanh ghi CX cho ®Õn
khi CX=0. Sau mçi lÇn thùc hiÖn, néi dung thanh ghi CX tù
®éng gi¶m ®i 1.
Có ph¸p: REP lÖnh lµm viÖc víi x©u ký tù
VÝ dô:
MOV SI,OIBUF
MOV DI,ADDR
MOV CX,COUNT
CLD
Phô lôc A. HÖ lÖnh 80x86 99
REP MOVSB
LÖnh MOVSB sÏ ®îc thùc hiÖn COUNT lÇn
TiÒn tè REPE hoÆc REPZ
Chøc n¨ng: TiÒn tè REPE hoÆc REPZ thùc hiÖn lÖnh lµm
viÖc víi x©u ký tù ®øng sau nã mét sè lÇn cã trong thanh
ghi CX cho ®Õn khi CX=0 vµ cê ZF=0. Sau mçi lÇn thùc
hiÖn, néi dung thanh ghi CX tù ®éng gi¶m ®i 1.
Có ph¸p: REPE/REPZ lÖnh lµm viÖc víi x©u ký tù
TiÒn tè REPNE hoÆc REPNZ
Chøc n¨ng: TiÒn tè REPNE hoÆc REPNZ thùc hiÖn lÖnh
lµm viÖc víi x©u ký tù ®øng sau nã mét sè lÇn cã trong
thanh ghi CX cho ®Õn khi CX=0 vµ cê ZF=1. Sau mçi lÇn
thùc hiÖn, néi dung thanh ghi CX tù ®éng gi¶m ®i 1.
Có ph¸p: REPE/REPZ lÖnh lµm viÖc víi x©u ký tù
O D I T S Z A P C
0 0
O D I T S Z A P C
* * * * * *
nh·n:
khèi lÖnh ASM cÇn lÆp
LOOPZ/LOOPE nh·n
LÖnh LOOPnZ/LOOPnE
Chøc n¨ng: LÆp viÖc thùc hiÖn khèi lÖnh Assembly n»m
gi÷a nh·n vµ LOOPNZ/LOOPNE nh·n cho ®Õn khi gi¸ trÞ
thanh ghi CX=0 vµ bit cê Zero (ZF)=0. Mçi khi thùc hiÖn
xong mét vßng lÆp gi¸ trÞ thanh ghi CX tù ®éng gi¶m ®i
1.
Có ph¸p:
CX chøa sè lÇn lÆp (CX≥1)
nh·n:
khèi lÖnh ASM cÇn lÆp
LOOPNZ/LOOPNE nh·n
O D I T S Z A P C
0
O D I T S Z A P C
1
O D I T S Z A P C
*
O D I T S Z A P C
0
Chó ý:
Víi c¸c lÖnh lµm viÖc víi x©u ký tù (c¸c lÖnh trong nhãm
A.4) th× viÖc thùc hiÖn sÏ ®îc tiÕn hµnh theo chiÒu t¨ng
®Þa chØ nÕu DF=0.
O D I T S Z A P C
1
Phô lôc A. HÖ lÖnh 80x86 105
Chó ý:
Víi c¸c lÖnh lµm viÖc víi x©u ký tù (c¸c lÖnh trong nhãm
A.4) th× viÖc thùc hiÖn sÏ ®îc tiÕn hµnh theo chiÒu gi¶m
®Þa chØ nÕu DF=1.
Có ph¸p: CLI
Tr¹ng th¸i c¸c bit cê:
O D I T S Z A P C
0
O D I T S Z A P C
1
Tuy lÖnh NOP kh«ng thùc hiÖn mét thao t¸c nµo song nã
vÉn cã ý nghÜa, vÝ dô cã thÓ dïng lÖnh NOP ®Ó t¹o vßng
trÔ theo yªu cÇu hoÆc dïng lÖnh NOP ®Ó t¹o vßng lÆp v«
tËn chê tÝn hiÖu ng¾t tõ bªn ngoµi.
VÝ dô:
T¹o mét vßng lÆp v« tËn ®Ó chê ng¾t.
LAP:
NOP
JMP LAP