T p l nh MCS-51
Nguy n Qu c C
B môn 3i –
ng
HBKHN
1
T p l nh MCS-51
Nguy n Qu c C
ng
Gi i thi u
•
•
•
L nh c a 8051 đ c thi t k v i opcode 8 bit å có kh
n ng mã hóa 256 l nh khác nhau
Th c t có 255 l nh (v i m t t h p không đ
ngh a):
c đ nh
Ngoài opcode m t l nh có th có thêm 1 ho c 2 byte đ mã
hóa ch đ đ a ch :
–
139 l nh 1 byte
–
92 l nh 2 byte
–
24 l nh 3 byte
2
T p l nh MCS-51
Nguy n Qu c C
ng
Các ch đ đ a ch
•
Cho phép xác đ nh n i c t gi
•
Co 6 ch đ đ a ch trong MCS-51
–
Tr c ti p
–
Gián ti p
–
T c thì
–
Thanh ghi
–
Thanh ghi đ nh tr
–
Ch s
“data” c a l nh
c
3
T p l nh MCS-51
Nguy n Qu c C
ng
Ch đ đ a ch tr c ti p
•
•
•
Direct addressing
a ch c a toán h ng đ
ch c a code l nh
c ch ra b i 8 bit trong tr
ng đ a
Áp d ng cho
–
Internal RAM
–
SFRs
4
T p l nh MCS-51
Nguy n Qu c C
ng
Ch đ đ a ch gián ti p
•
Indirect addressing
•
L nh ch ra m t thanh ghi có ch a đ a ch c a toán h ng
•
Các thanh ghi s
•
–
R0 và R1
–
SP
–
DPTR
d ng trong ch đ đ a ch gián ti p:
Áp d ng cho:
–
Internal RAM
–
External data memory
5
T p l nh MCS-51
Nguy n Qu c C
ng
Ch đ thanh ghi
•
Register addressing
•
M t s l nh có toán h ng là các thanh ghi
•
Các thanh ghi R0 và R7 đ c mã hóa b i 3 bit trong tr ng
opcode (thay vì ph i mã hóa 8 bit trong tr ng đ a ch )
6
T p l nh MCS-51
Nguy n Qu c C
ng
Ch đ thanh ghi đ nh tr
•
c
M t s l nh đ c thi t k ch ho t đ ng v i m t thanh ghi
đ nh tr c å không c n tr ng đ a ch đ mã hóa toán
h ng
7
T p l nh MCS-51
Nguy n Qu c C
ng
Ch đ đ a ch t c thì
•
•
Immediate addressing
Giá tr c a toán h ng là m t h ng s và đ
trong tr ng đ a ch
c ch ngay
8
T p l nh MCS-51
Nguy n Qu c C
ng
Ch đ đ a ch ch s
•
•
•
•
Indexed addressing
a ch c a toán h ng đ c ch ra nh s d ng m t thanh
ghi làm đ a ch g c và m t thanh ghi đ ch đ l ch
Các thanh ghi s
–
DPTR
–
PC
–
A
d ng
Ch áp d ng cho các l nh thao tác trên vùng nh code
9
T p l nh MCS-51
Nguy n Qu c C
ng
T p l nh MCS-51
•
Có các ki u l nh
–
S h c
–
Logic
–
Thao tác trên bit
–
Truy n s li u
–
R nhánh ch
ng trình
10
T p l nh MCS-51
Nguy n Qu c C
ng
Các l nh s h c
•
C ng: ADD và ADDC
•
Tr
•
Nhân : MUL
•
Chia : DIV
•
T ng : INC
•
Gi m : DEC
: SUBB
11
T p l nh MCS-51
Nguy n Qu c C
ng
ADD
•
C ng A v i m t toán h ng, k t qu c t tr l i A
•
Có tác đ ng đ n c : CY, AC, OV
•
L nh c ng s
•
–
Thanh ghi
–
Tr c ti p
–
Gián ti p
–
T c thì
d ng 4 ch đ đ a ch cho toán h ng
Syntax
ADD A, <src-byte>
12
T p l nh MCS-51
Nguy n Qu c C
ng
Ví d :
ADD
ADD
A, R2
A, 3Fh
;c ng A v i thanh ghi R2, k t qu c t tr l i A
;c ng A v i ô nh có đ a ch 3Fh, k t qu c t tr l i A
13
T p l nh MCS-51
Nguy n Qu c C
Ví d :
ng
ADD
ADD
A, @R2 ;c ng A v i ô nh có đ a ch b ng giá tr c t trong thanh
; ghi R2, k t qu c t tr l i A
A, # 3Fh ;c ng A v i h ng s 3Fh, k t qu c t tr l i A
14
T p l nh MCS-51
Nguy n Qu c C
ng
ADDC
•
C ng có nh : C ng A v i m t toán h ng và v i c c nh
Carry, k t qu c t vào A
•
Có tác đ ng đ n c : CY, AC, OV
•
L nh c ng s
•
–
Thanh ghi
–
Tr c ti p
–
Gián ti p
–
T c thì
d ng 4 ch đ đ a ch cho toán h ng
Syntax
ADDC A, <src-byte>
15
T p l nh MCS-51
Nguy n Qu c C
ng
16
T p l nh MCS-51
Nguy n Qu c C
ng
17
T p l nh MCS-51
Nguy n Qu c C
ng
MUL AB
•
Nhân A v i B
•
K t qu c t vào 2 thanh ghi A và B
•
–
A ch a byte tr ng s th p
–
B ch a byte có tr ng s cao
Tác đ ng đ n c OV và CY (=0)
18
T p l nh MCS-51
Nguy n Qu c C
ng
DIV AB
•
Chia 2 s không d u 8 bit
•
L y A chia cho B
•
K t qu :
•
–
Th
ng s c t
–
S d
c t
A
B
Syntax:
DIV AB
19
T p l nh MCS-51
Nguy n Qu c C
ng
INC
•
L nh t ng toán h ng lên 1
•
N u giá tr tr
•
Không tác đ ng đ n c
•
Ch đ đ a ch c a toán h ng:
•
c khi t ng là FF thì sau khi t ng s là 00
–
Thanh ghi đ nh ngh a tr
–
Thanh ghi (R0 – R7)
–
Tr c ti p
–
Gián ti p
c (thanh ghi A)
Syntax:
INC <byte>
20
T p l nh MCS-51
Nguy n Qu c C
ng
21
T p l nh MCS-51
Nguy n Qu c C
ng
22
T p l nh MCS-51
Nguy n Qu c C
ng
INC DPTR
•
T ng n i dung c a thanh ghi 16 bit DPTR lên 1
•
Không tác đ ng đ n c
•
Syntax:
INC DPTR
23
T p l nh MCS-51
Nguy n Qu c C
ng
Các l nh logic
•
AND, OR, Exclusive-OR (XOR), Bù
•
Quay trái, ph i
24
T p l nh MCS-51
Nguy n Qu c C
ng
ANL
•
Th c hi n phép AND logic
•
Không tác đ ng đ n c
•
Syntax:
AND <dest-byte>,<src-byte>
25
T p l nh MCS-51
Nguy n Qu c C
ng
26
T p l nh MCS-51
Nguy n Qu c C
ng
(direct) ä (direct)
(A)
27
T p l nh MCS-51
Nguy n Qu c C
ng
RL A
•
Quay trái thanh ghi A:
–
Các bit d ch qua trái 1 bit
–
Bit 7 s đ
c đ a v bit 0
•
Không tác đ ng đ n c
•
Syntax
RL A
28
T p l nh MCS-51
Nguy n Qu c C
ng
RLC A
•
Quay trái thanh ghi A qua Carry:
0 đ n 6 s d ch qua trái
–
N i dung các bit t
–
C Carry s chuy n vào v trí bit 0
–
Bit 7 d ch vào Carry
•
Không tác đ ng đ n c (ngo i tr
•
Syntax:
Carry)
RLC A
29
T p l nh MCS-51
Nguy n Qu c C
ng
Các l nh chuy n s li u
•
Chuy n s li u v i internal RAM: MOV, XCH, XCHD
•
Chuy n s li u v i external RAM: MOVX
•
•
c s li u t
b nh ch
ng trình:MOVC
Truy c p ng n x p: PUSH, POP
30
T p l nh MCS-51
Nguy n Qu c C
ng
MOV
•
S li u c a toán h ng ngu n đ
c copy vào toán h ng đích
•
N i dung c a toán h ng ngu n không thay đ i
•
Không tác đ ng đ n c
•
Syntax:
MOV <dest-byte>,<src-byte>
31
T p l nh MCS-51
Nguy n Qu c C
ng
32
T p l nh MCS-51
Nguy n Qu c C
ng
33
T p l nh MCS-51
Nguy n Qu c C
ng
34
T p l nh MCS-51
Nguy n Qu c C
ng
35
T p l nh MCS-51
Nguy n Qu c C
ng
36
T p l nh MCS-51
Nguy n Qu c C
ng
MOVX
•
Chuy n s li u gi a thanh ghi A và m t ô nh extarnal data
memory
•
Không tác đ ng đ n c
•
Syntax:
MOVX <dest-byte>,<src-byte>
37
T p l nh MCS-51
Nguy n Qu c C
ng
38
T p l nh MCS-51
Nguy n Qu c C
ng
39
T p l nh MCS-51
Nguy n Qu c C
ng
MOVC
•
c m t byte t
b nh code vào thanh ghi A
•
Không tác đ ng đ n c
•
Syntax:
MOVC A,@A+<base-reg>
40
T p l nh MCS-51
Nguy n Qu c C
ng
41
T p l nh MCS-51
Nguy n Qu c C
ng
PUSH
•
C t m t byte vào ô nh ng n x p
•
Không tác đ ng đ n c
•
Syntax:
PUSH direct
42
T p l nh MCS-51
Nguy n Qu c C
ng
POP
•
L y m t byte t
ng n x p
•
Không tác đ ng đ n c
•
Syntax:
POP direct
43
T p l nh MCS-51
Nguy n Qu c C
ng
Các l nh thao tác trên bit
•
Xóa, thi t l p bit: CLR, SET
•
Logic: ANL, ORL, CPL (bù)
•
Copy bit: MOV
44
T p l nh MCS-51
Nguy n Qu c C
ng
CLR
•
Xóa m t bit (=0)
–
–
•
trong các thanh ghi có th truy c p đ n t ng bit
ho c các ô nh đánh đ a ch theo bit (ô nh 20h đ n 2fh c a
internal RAM)
Syntax
CLR bit
45
T p l nh MCS-51
Nguy n Qu c C
ng
46
T p l nh MCS-51
Nguy n Qu c C
ng
SET
•
Thi t l p bit (=1):
–
–
•
trong các thanh ghi có th truy c p đ n t ng bit
ho c các ô nh đánh đ a ch theo bit (ô nh 20h đ n 2fh c a
internal RAM)
Syntax
SET bit
47
T p l nh MCS-51
Nguy n Qu c C
ng
48
T p l nh MCS-51
Nguy n Qu c C
ng
MOV
•
Copy n i dung m t bit:
–
M t trong 2 toán h ng ph i là c Carry
–
Toán h ng còn l i là các bit c a các thanh ghi ho vùng nh có
th truy c p đ n bit
•
Syntax
•
MOV <dest-bit>,<src-bit>
49
T p l nh MCS-51
Nguy n Qu c C
ng
MOV
MOV
Ví d :
P1.3,C
C, P0.1
50
T p l nh MCS-51
Nguy n Qu c C
ng