按指令的功能,MCS-51单片机可以分为以下五类:
1,数据传送
2,算术运算
3,逻辑运算
4,控制转移
5,位操作
在分类介绍指令之前,先把描述指令的以一些符号的意义作简单的介绍。
Rn----当选定的寄存器区的八个工作寄存器R0--R7
Ri----当前选定寄存器中的两个寄存器R0,R1
direct--8个内部RAM地址单元,他可以是内部数据数据区RAM单元(00H-7FH)或特殊功能寄存器地址(I/O端口,控制寄存器,状态寄存器,80H-0FFH)
#date--指令中的8位常数
#date16---指令中的16位常数
bit--内部数据RAM或特殊功能寄存器中的可直接寻址位
DPTR--数据指针,可用作16位寄存器的地址寄存器
A--累加器·
B--寄存器,用于MUL和DIV指令中
C--进位标志位或进位位
@--间接寻址寄存器和基址寄存器的前缀
/---位操作数的前缀,表示对该位取反
(X)--X中的内容
((X))---由X寻址的单元中的内容
一,数据传送类指令·
作用:把原操作数传送到指令所在的目的地址。执行指令后原操作数保持不变,目的操作数被原操作数代替。
数据传送到累加器A的指令
MOV A,Rn
MOV A,direct
MOV A,@Ri
功能:把源操作数的内容送入累加器A
数据传送到工作寄存器Rn的指令
MOV Rn,A
MOV Rn,direct
MOV Rn,#date
功能:把源操作数的内容送入当前工作寄存器区的R0-R7
累加器A与外部数据中之间的传送指令
MOVX A,@DPTR
MOVX @DPTR,A
功能:累加器与外部数据储存器RAM单元,或I/O口之间进行数据传送
堆栈操作
PUSH direct ;SP<--SP+1.(SP)<--direct
pop direct ;direct<--((SP)),SP<--(SP)-1
堆栈:先进后出,后进先出
堆栈指针SP指向栈顶位置,
进栈指令的功能:指针SP+1,将直接地址所指内容送入SP指出的内部RAM单元
堆栈操作只能采用直接寻址方式
程序储存内容传送到累加器
MOVC A,@A+PC
MOVC A@A+DPzhijie
字节交换指令
XCH A,Rn
XCH A,@R1
XCH A,direct
XCHD A,@Ri;累加器A低四位内容与Ri低四位内容进行交换
SWAP A;累加器A高低四位进行交换
前三条累加器A的内容与源操作数进行交换,后两条是半字节交换指令,