-鲨齿龙
数据传输指令
一
.<
/p>
片内
RAM
数据传输指令
1.
< br>以累加器
A
为目的操作数的指令:
MOV
A , Rn
MOV
A , direct
MOV
A , @Ri
MOV
A , #data
2.
以寄
存器
Rn
为目的操作数的指令:
MOV
Rn , A
MOV
Rn
,
direct
MOV
Rn
,
data
3.
以直接地址为目的操作数的指令:
MOV
direct
,
A
MOV
direct
,
Rn
MOV
direct1
,
derect2
MOV
direct
,
@Ri
MOV
direct
,
#data
4.
间接地址为目的操作数的指令:
MOV
@Ri
,
A
MOV
@Ri
,
direct
MOV
@Ri
,
#data
5.
十六位数据传送指令:
MOV
DPTR
, #data16 <
/p>
二
.
累加器
A<
/p>
与片外
RAM
数据传送指令:
MOVX
A
,
@Ri
MOVX
A
,
@DPTR
MOVX
@Ri
,
A
MOVX
@DPTR
,
A
三<
/p>
.
查表寻址:
MOVC
A
,
@A+DPTR
(先
PC
←(
PC
)
+1
,后
A
←(
(
A
)
+
(
DPTR
)
)
)
+
MOVC
A
,
@A+PC
(先
PC
←
(PC)+1
,后
< br>A
←(
(
A
)
+
(
PC
)
)
)
四
.
交换指令:
1.
字节交换指令:
XCH
A
,
Rn
XCH
A
,
direct
XCH
A
,
@Ri
2.
半字节交换指令:
XCHD
A
,
@Ri
3.
累加器半字节交换指令:
SWAP
A
<
/p>
五
.
栈操作指令:
(入栈指令)
PUSH
direct
(出栈指令)
POP
direct
算术运算指令:
一
.
加法减法指令:
1.
加法指令:
ADD
A
,
Rn
ADD
A
,
direct
ADD
A
,
@Ri
ADD
A
,
#data
2.
带进位加法指令:
ADDC
A
,
Rn
A
←
(A)+(Rn)+CY
ADDC
A
,
direct
A
←
(A)+(direct)+CY
ADDC
A
,
@Ri
A
←(
A
)
+
((Ri))+CY
ADDC
A
,
#data
A
←
(A)+(data)+CY
3.
带借位减法指令:
SUBB
A
,
Rn
A
←
(A)-CY-(Rn)
SUBB
A
,
direct
A
←
(A)-CY-(direct)
SUBB
A
,
@Ri
A
←
(A)-CY-((Ri))
SUBB
A
,
#data
A
←
(A)-CY-#data
二
.
乘法除法指令:
1.
乘法指令:
MUL
AB
BA
←
(A)
×
(B)
高字节放在
B
中,低字节放在
A
中
2.
除法指令:
DIV
AB
A
←
(A)
÷
(B)
的商
,(B)
←
(A)
÷
(B)
的余数
三
.
加
p>
1
减
1
指令:
p>
1.
加
1
指令:
INC
A
A
←
(A)+1
INC
Rn
Rn
←
(Rn)+1
INC
direct
direct
←
(direct)+1
INC
@Ri
(Ri)
←
((Ri))+1
INC
DPTR
DPTR
←
(DPTR)+1
2.
减
1
指令:
DEC
A
DEC
Rn
DEC
direct
DEC
@Ri
四
.
十进制调制指令:
DA
A
调整累加器
A
的内容为
BCD
码
逻辑操作指令:
一
.
逻辑与
、或、异或指令:
1.
逻辑与指令:
ANL
A
,
Rn
ANL
A
,
direct