MCS-51单片机指令表(打印版)Word下载.doc
《MCS-51单片机指令表(打印版)Word下载.doc》由会员分享,可在线阅读,更多相关《MCS-51单片机指令表(打印版)Word下载.doc(6页珍藏版)》请在冰豆网上搜索。
8
direct,A
A传送到直接地址
9
direct,Rn
Rn传送到直接地址
10
direct2,direct1
直接地址传送到直接地址
11
direct,@Ri
间接RAM内容传送到直接地址
12
direct,#data
立即数传送到直接地址
13
@Ri,A
A内容送间接RAM单元
14
@Ri,direct
直接地址传送到间接RAM
15
@Ri,#data
立即数传送到间接RAM
16
MOVC
A,@A+DPTR
代码字节送A(DPTR为基址)
17
A,@A+PC
代码字节送A(PC为基址)
18
MOVX
外部RAM(8地址)内容传送到A
19
A,@DPTR
外部RAM内容(16地址)传送到A
20
DPTR,#data16
16位常数加载到数据指针
21
MOVX
A内容传送到外部RAM(8地址)
22
@DPTR,A
A内容传送到外部RAM(16地址)
23
PUSH
direct
直接地址压入堆栈
24
POP
直接地址弹出堆栈
25
XCH
A,Rn
Rn内容和A交换
26
A,direct
直接地址和A交换
27
A,@Ri
间接RAM内容A交换
28
XCHD
间接RAM内容和A交换低4位字节
算术运算类指令
INC
A
A加1
INC
Rn
Rn加1
直接地址加1
@Ri
间接RAM加1
DPTR
数据指针加1
DEC
A减1
DEC
Rn减1
直接地址减1
间接RAM减1
MUL
AB
A和BRn相乘
DIV
A除以BRn
DA
A十进制调整
ADD
Rn与A求和
ADD
A,direct
直接地址与A求和
A,@Ri
间接RAM与A求和
A,#data
立即数与A求和
ADDC
Rn与A求和(带进位)
直接地址与A求和(带进位)
间接RAM与A求和(带进位)
立即数与A求和(带进位)
SUBB
A减去Rn(带借位)
SUBB
A减去直接地址(带借位)
A减去间接RAM(带借位)
A减去立即数(带借位)
逻辑运算类指令
ANL
A,Rn
Rn“与”到A
ANL
直接地址“与”到A
间接RAM“与”到A
立即数“与”到A
direct,A
A“与”到直接地址
direct,#data
立即数“与”到直接地址
ORL
Rn“或”到A
直接地址“或”到A
ORLi
A,@R
间接RAM“或”到A
立即数“或”到A
A“或”到直接地址
立即数“或”到直接地址
XRL
Rn“异或”到A
直接地址“异或”到A
间接RAM“异或”到A
立即数“异或”到A
A“异或”到直接地址
立即数“异或”到直接地址
CLR
A清零
CPL
A求反
RL
A循环左移
RLC
带进位A循环左移
RR
A循环右移
RRC
带进位A循环右移
SWAP
A高、低4位交换
控制转移类指令
JMP
@A+DPTR
相对DPTR的无条件间接转移
JZ
rel
A为0则转移
JNZ
A为1则转移
CJNE
A,direct,rel
比较直接地址和A,不相等转移
A,#data,rel
比较立即数和A,不相等转移
Rn,#data,rel
比较Rn和立即数,不相等转移
@Ri,#data,rel
比较立即数和间接RAM,不相等转移
DJNZ
Rn,rel
Rn减1,不为0则转移
direct,rel
直接地址减1,不为0则转移
NOP
空操作,用于短暂延时
ACALL
add11
绝对调用子程序
LCALL
add16
长调用子程序
RET
从子程序返回
RETI
从中断服务子程序返回
AJMP
无条件绝对转移
LJMP
无条件长转移
SJMP
无条件相对转移
位操作指令
CLR
C
清进位位
bit
清直接寻址位
SETB
置位进位位
置位直接寻址位
CPL
取反进位位
取反直接寻址位
C,bit
直接寻址位“与”到进位位
C,/bit
直接寻址位的反码“与”到进位位
直接寻址位“或”到进位位
直接寻址位的反码“或”到进位位
MOV
直接寻址位传送到进位位
bit,C
进位位位传送到直接寻址
JC
如果进位位为1则转移
JNC
如果进位位为0则转移
JB
bit,rel
如果直接寻址位为1则转移
JNB
如果直接寻址位为0则转移
JBC
直接寻址位为1则转移并清除该位
伪指令
指令中的符号标识
ORG
指明程序的开始位置
工作寄存器R0-R7
DB
定义数据表
Ri
工作寄存器R0和R1
DW
定义16位的地址表
间接寻址的8位RAM单元地址(00H-FFH)
EQU
给一个表达式或一个字符串起名
#data8
8位常数
DATA
给一个8位的内部RAM起名
addr16
16位目标地址,范围64KB
XDATA
给一个8位的外部RAM起名
addr11
11位目标地址,范围2KB
BIT
给一个可位寻址的位单元起名
Rel
8位偏移量,范围-128~+127
END
指出源程序到此为止
Bit
片内RAM中的可寻址位和SFR的可寻址位
$
指本条指令的起始位置
Direct
直接地址,范围片内RAM单元(00H-7FH)和80H-FFH
数据存储器
数据存储器也称为随机存取数据存储器。
数据存储器分为内部数据存储和外部数据存储。
MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。
它们是用于存放执行的中间结果和过程数据的。
MCS-51的数据存储器均可读写,部分单元还可以位寻址。
MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:
数据存储器空间(低128单元);
特殊功能寄存器空间(高128单元);
这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。
下面我们就来详细的与大家讲解一下:
低128单元:
片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。
也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0