Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Tap lenh 8086,8088

Tap lenh 8086,8088

Ratings: (0)|Views: 0|Likes:

More info:

Published by: Công Nghệ Đỉnh Cao on Dec 20, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/30/2014

pdf

text

original

 
T
P L 
NH CPU INTEL 8086/8088
 
1. D
ng l
nh :
- M
t l
nh c
a vi x
lý 86 có d
ng t
ng quát nh
ư
sau :
<Mã g
ợ 
i nh
ớ 
> <Toán h
ng
đ
ích>,<Toán h
ng ngu
n>
-
Mã g
ợ 
i nh
ớ 
giúp cho ng
ườ 
i s
d
ng bi
ế
t ho
t
độ
ng c
a l
nh. Mã g
ợ 
i nh
ớ 
th
ườ 
ng là cácch
ti
ế
ng anh vi
ế
t t
t nh
ư
: MOV là l
nh chuy
n, ADD là l
nh c
ng, AND là l
nh và lu
nlý, JMP là l
nh nh
y . . .-
Toán h
ng
đ
ích
gi
ế
t qu
(n
ế
u có yêu c
u) sau khi thi hành l
nh. Toán h
ng
đ
ích cóth
là thanh ghi hay b
nh
ớ 
.-
Toán h
ng ngu
n
có th
là thanh ghi, b
nh
ớ 
hay m
t s
t
c th
ờ 
i.- Toán h
ng thanh ghi là các thanh ghi c
a vi x
lý 86 g
m các thanh ghi t
ng quát (8 bitl
n 16 bit) và các thanh ghi
đ
o
n
đ
ã bi
ế
t.- Toán h
ng s
t
c th
ờ 
i có th
là s
trong các h
 
đế
m khác nhau và
đượ 
c vi
ế
t theo qui
đị
nhnh
ư
sau :. S
h
2 :
××××××××
B (
×
là 1 bit nh
phân).
Ví d 
: 01101101B, 11111111B. S
h
10 :
×××××
, hay
×××××
D (
×
là m
t s
thu
c h
10).
Ví d 
: 65535, 1000. S
h
16 :
××××
H và b
t
đầ
u b
ng s
( m
t s
thu
c h
16).
Ví d 
: 1A59H, 0E05BH- Toán h
ng b
nh
ớ 
dùng trong t
 p l
nh vi x
lý 86 s
d
ng ph
ươ 
ng pháp
đị
nh
đị
a ch
t
ngh
ợ 
 p
đượ 
c g
i là
đị
a ch
ỉ 
hi
u d 
ng 
.-
Đị
a ch
hi
u d
ng là t
h
ợ 
 p c
a 3 nhóm sau
đượ 
c
đặ
t trong d
u ngo
c vuông [ ]:. Nhóm thanh ghi ch
s
: SI, DI. Nhóm thanh ghi n
n : BX, BP.
Đị
a ch
tr 
c ti
ế
 p : s
16 bit- Các thanh ghi trong cùng m
t nhóm không
đượ 
c xu
t hi
n trong cùng m
t
đị
a ch
hi
ud
ng.- Ví d
:.
Đị
a ch
hi
u d
ng h
ợ 
 p 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
hi
u d
ng
không h
ợ 
 p l 
:[70000], [AX], [SI+DI+1000h], [BX][BP]-
Đị
a ch
hi
u d
ng chính là thành ph
n offset c
a
đị
a ch
lu
n lý b
nh
ớ 
.- Segment c
a
đị
a ch
hi
u d
ng
đượ 
c m
c
đị
nh nh
ư
sau :. N
ế
u không s
d
ng BP trong
đị
a ch
hi
u d
ng thì m
c
đị
nh theo thanh ghi DS.. N
ế
u có BP trong
đị
a ch
hi
u d
ng thì m
c
đị
nh theo thanh ghi SS.- Các ho
t
độ
ng th
c hi
n trên b
nh
ớ 
thông qua
đị
a ch
hi
u d
ng chia ra làm 2 tr 
ườ 
ngh
ợ 
 p : ho
t
độ
ng 8 bit và ho
t
độ
ng 16 bit.- Ho
t
độ
ng b
nh
ớ 
8 bit làm vi
c trên 1 byte b
nh
ớ 
ngay v
trí ch
ra b
ở 
i
đị
a ch
hi
ud
ng.
 
- Ho
t
độ
ng b
nh
ớ 
16 bit s
làm vi
c trên 2 byte b
nh
ớ 
đị
a ch
ế
ti
ế
 p nhau n
idung c
a chúng
đượ 
c ghép l
i thành d
li
u 16 bit theo qui t
c "
byte cao
đị 
a ch
ỉ 
cao, byteth
ấ 
 p
đị 
a ch
ỉ 
th
ấ 
 p
" nh
ư
trong hình sau :-
Để
thu
n ti
n trong v
n
đề
gi
i thích l
nh, ta qui
ướ 
c thêm cách di
n t
sau :. D
li
u 8 bit c
a b
nh
ớ 
:
[
đị
a ch
]
. D
li
u 16 bit c
a b
nh
ớ 
:
[
đị
a ch
+1,
đị
a ch
]
-
Để
xác
đị
nh rõ ho
t
độ
ng c
a b
nh
ớ 
, ta ph
i dùng thêm toán t
PTR nh
ư
sau :. Ho
t
độ
ng 8 bit :
BYTE PTR 
[1000h] là tham kh
o 1 byte b
nh
ớ 
đị
a ch
 1000h. Ho
t
độ
ng 16 bit :
WORD PTR 
[1000h] là tham kh
o
đế
n 2 byte b
nh
ớ 
liênti
ế
 p 1000h và 1001h- Các ch
vi
ế
t t
t dùng trong các nhóm l
nh :
reg 
: thanh ghi t
ng quát.
reg16 
: thanh ghi 16 bit.
 segreg 
: thanh ghi
đ
o
n.
accum
: thanh ghi b
tích l
ũ
y AX ho
c AL.
mem
: b
nh
ớ 
(
đị
a ch
hi
u d
ng).
mem16 
: b
nh
ớ 
2 byte liên ti
ế
 p (
đị
a ch
hi
u d
ng).
mem32
: b
nh
ớ 
4 byte liên ti
ế
 p (
đị
a ch
hi
u d
ng).
immed 
: s
t
c th
ờ 
i.
immed8
: s
t
c th
ờ 
i 8 bit.
 shortlabel 
: nhãn ng
n (-128 byte +127 byte).
nearlabel 
: nhãn trong
đ
o
n (2 byte offset).
 farlabel 
: nhãn ngoài
đ
o
n (4 byte : 2 byte segment và 2 byte offset).
2. Nhóm l
nh chuy
n d
ữ 
li
u :
2.1 L
nh MOV :- D
ng l
nh : 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 
- Gi
i thích :
th
đ 
 
thn
- Tác
độ
ng c
ờ 
:- Chép toán h
ng ngu
n vào toán h
ng
đ
ích.-
Ví d 
: MOV AX,CX ;
 AX 
← 
CX 
 MOV DL,BH ;
 DL
← 
BH 
 MOV [SI+1000h],BP ;
[SI+1001h, SI+1000h]
← 
BP 
 MOV DX,[1000h] ;
 DX 
 
 
[1001h,1000h]
 
OF DF IFSFZFAFPFCF 
1000h1001h
 
12341234hD
li
uB
nh
 (
đị
a ch
)
 
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 L
nh PUSH :- D
ng l
nh : PUSH
reg16 
PUSH
 segreg 
PUSH
mem16 
- Gi
i thích :
 SP 
SP-2 [SS:SP+1,SS:SP] 
thn
 
- Tác
độ
ng c
ờ 
:-
Đẩ
y toán h
ng ngu
n 16 bit vào ch
ng (
đị
a ch
 
đỉ
nh ch
ng 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 L
nh POP :- D
ng l
nh : POP
reg16 
POP
 segreg 
POP
mem16 
 - Gi
i thích :
th
đ 
 
[SS:SP+1,SS:SP]  SP 
SP+2
 
- Tác
độ
ng c
ờ 
:- L
y d
li
u t
 
đỉ
nh ch
ng vào toán h
ng
đ
í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 L
nh XCHG :- D
ng l
nh : XCHG
reg,reg 
XCHG
mem,reg 
XCHG
accum,reg16 
XCHG
reg,mem
- Gi
i thích :
th
đ 
 
thn
 
- Tác
độ
ng c
ờ 
:- Trao
đổ
i n
i dung hai toán h
ng cho nhau.-
Ví d 
: XCHG AX,CX ;
 AX 
↔ 
CX 
XCHG AH,AL ;
 AH 
↔ 
AL
XCHG [1000h],DX ;
[1001h,1000h]
↔ 
DX 
OF DF IFSFZFAFPFCF OF DF IFSFZFAFPFCF OF DF IFSFZFAFPFCF 

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->