分类: 嵌入式
2010-07-05 07:30:24
数据传送类指令 | |||
1 |
一般传送 |
MOV A, #data |
将立即数#data送累加器A |
2 |
|
MOV direct, #data |
将立即数#data送片内RAM direct地址单元内 |
3 |
|
Mov Rn, #data |
将立即数#data送寄存器Rn |
4 |
|
Mov @Ri, #data |
寄存器Ri内为RAM地址,将立即数#data送该地址单元内 |
5 |
|
Mov direct2, direct1 |
将direct1地址单元的数据送 direct2地址单元内 |
6 |
|
Mov direct, rn |
将Rn的数据送 direct地址单元内 |
7 |
|
Mov Rn, direct |
将direct地址单元内的数据送Rn寄存器 |
8 |
|
Mov direct, @Ri |
寄存器Ri内为RAM地址,将该地址单元内的数据送direct地址单元内 |
9 |
|
Mov @Ri, direct |
寄存器Ri内为RAM地址,将direct地址单元内的数据送该地址单元内 |
10 |
|
Mov A, Rn |
将寄存器Rn内的数据送累加器A |
11 |
|
Mov Rn, A |
将累加器A内的数据送寄存器Rn |
12 |
|
Mov A, direct |
将direct地址单元内的数据送累加器A |
13 |
|
Mov direct, A |
将累加器A内的数据送direct地址单元内 |
14 |
|
Mov A, @Ri |
寄存器Ri内为RAM地址,将该地址单元内的数据送累加器A |
15 |
|
Mov @Ri , A |
寄存器Ri内为RAM地址,将累加器A的数据送该地址单元内 |
16 |
目的地址传送 |
Mov DPTR, #data16 |
将16位立即数送数据指针DPTR寄存器 |
17 |
字节交换 |
SWAP A |
累加器A高低4位数据交换 |
18 |
|
XCH A, Rn |
将累加器A数据和寄存器Rn内的数据交换 |
19 |
|
XCH A, direct |
将累加器A数据和direct地址单元内的数据交换 |
20 |
|
XCH A, @Ri |
寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据交换 |
21 |
|
XCHD A, @Ri |
寄存器Ri内为RAM地址,将该地址单元内的数据低4位与的低4位交换 |
22 |
与外部RAM传送 |
MOVX @DPTR, A |
将累加器A的数据送数据指针DPTR寄存器所指外部RAM地址单元内 |
23 |
|
MOVX A , @DPTR |
将DPTR寄存器所指外部RAM地址单元内的数据送累加器A |
24 |
|
MOVX A, @Ri |
寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A |
25 |
|
MOVX @Ri, A |
寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A |
26 |
与ROM传送 |
MOVC A, @A+DPTR |
A+DPTR构成ROM地址,将该地址内的数据送累加器A内 |
27 |
|
MOVC A, @A+PC |
A+PC构成ROM地址,将该地址内的数据送累加器A内 |
28 |
栈操作 |
PUSH direct |
堆栈指针SP自加1后,将direct地址单元的数据压进堆栈, |
29 |
|
POP direct |
堆栈的数据送direct地址单元中,后堆栈指针减1, |
算术运算指令 | |||
30 |
加法指令 |
ADD A, Rn |
将寄存器Rn与累加器A的数据相加后,结果保存到累加器A |
31 |
|
ADD A, direct |
将direct地址单元内的数据与累加器A的数据相加后结果保存到累加器A |
32 |
|
ADD A, @Ri |
寄存器Ri内位地址,将该地址单元内的数据与累加器A的数据相加后结果保存到累加器A |
33 |
|
ADD A, #data |
将立即数与累加器A的数据相加后结果保存到累加器A |
34 |
带进位加法 |
ADDC A, Rn |
将寄存器Rn与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A |
35 |
|
ADDC A, direct |
将direct地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A |
36 |
|
ADDC A, @Ri |
寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A |
37 |
|
ADDC A, #data |
将立即数与累加器A的数据相加,再加上进位标志内的值后结果保存到累加器A |
38 |
带借位减法 |
SUBB A, Rn |
将与累加器A的数据减去寄存器Rn的数据,再减去进位标志内的值,结果保存到累加器A |
39 |
|
SUBB A, direct |
将与累加器A的数据减去direct地址单元内的数据,再减去进位标志内的值,结果保存到累加器A |
40 |
|
SUBB A, @Ri |
寄存器Ri内为RAM地址,将累加器A的数据减去该地址单元内的数据,再减去进位标志内的值后,结果保存到累加器A |
41 |
|
SUBB A, #data |
将累加器A的数据减去立即数,再减去进位标志内的值后,结果保存到累加器A |
42 |
加1指令 |
INC A |
累加器A的值自加1 |
43 |
|
INC Rn |
寄存器Rn的值自加1 |
44 |
|
INC direct |
direct地址单元内值自加1 |
45 |
|
INC @Ri |
寄存器Ri内为RAM地址,该地址单元内的值自加1 |
46 |
|
INC DPTR |
数据指针寄存器DPTR内的值自加1 |
47 |
减1指令 |
DEC A |
累加器A的值自减1 |
48 |
|
DEC Rn |
寄存器Rn的值自减1 |
49 |
|
DEC direct |
direct地址单元内的值自减1 |
50 |
|
DEC @Ri |
寄存器Ri内为RAM地址,该地址单元内的值自减1 |
51 |
乘法 |
MUL AB |
累加器A与寄存器B内的值相乘,乘积的高8位保存在B寄存器,低8位保存在累加器A中 |
52 |
除法 |
DIV AB |
累加器A的值除以寄存器B的值,商保存在累加器A中,余数保存在B寄存器 |
53 |
二-十进制调整 |
DA A |
对累加器A的结果进行十进制调整 |