单片机指令系统
3.1 MCS-51指令简介
3.2 指令系统
3.1 MCS-51指令简介
二、MCS-51系列单片机指令系统分类
按寻址方式分为以下七种:按功能分为以下四种:
1、立即立即寻址 1、数据传送指令位操
2、直接寻址 2、算术运算指令
3、寄存器寻址 3、逻辑运算指令
4、寄存器间接寻址指令 4、控制转移类指令
5、相对寻址 5、位操作指令
6、变址寻址
7、位寻址
三、寻址方式
3、寄存器间接寻址 MOV A, @R1
操作数是通过寄存器间接得到的。
4、立即寻址 MOV A, #40H
操作数在指令中直接给出。
5、基址寄存器加变址寄存器寻址
以DPTR或PC为基址寄存器,以A为变址寄存器,
以两者相加形成的16位地址为操作数的地址。
MOVC A, @A+DPTR
MOVC A, @A+PC
四、指令中常用符号说明
Rn——当前寄存器区的8个工作寄存器R0~R7(n=0~7);
Ri——当前寄存器区可作地址寄存器的2个工作寄存器R0和R1(i=0,1);
direct——8位内部数据存储器单元的地址及特殊功能寄存器的地址;
#data——表示8位常数(立即数);
#datal6——表示16位常数;
add 16——表示16位地址;
addrll——表示11位地址;
rel——8位带符号的地址偏移量;
bit——表示位地址;
@——间接寻址寄存器或基址寄存器的前缀;
( )——表示括号中单元的内容
(( ))——表示间接寻址的内容;
五、MCS-51指令简介 1. 以累加器A为目的操作数的指令
2. 以Rn为目的操作数的指令
3. 以直接地址为目的操作数的指令
4. 以寄存器间接地址为目的操作数指令
应用举例1
8段数码管显示
应用举例2
3.2 指令系统
2、堆栈操作指令
3. 累加器A与外部数据传输指令
4. 查表指令
MOVC A, @A+PC 例子:
5. 字节交换指令
6. 半字节交换指令
二、算术操作类指令
PSW寄存器
2. 带进位加法指令
3. 加1指令
4. 十进制调整指令
5. 带借位减法指令(Subtraction)
6. 减1指令(Decrease)
7. 乘法指令(Multiplication)
8. 除法指令(Division)
三、逻辑运算指令 1. 简单逻辑操作指令
2. 循环指令
带进位左循环指令(Rotate Accumulator Left through Carry flag)
右循环指令(Rotate Accumulator Right)
带进位右循环指令(Rotate A Right with C)
3. 逻辑与指令
4. 逻辑或指令
5. 逻辑异或指令
四、控制转移类指令 1. 跳转指令
相对转移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel
程序中标号与地址之间的关系
2. 条件转移指令
3. 比较不相等转移指令
4. 减 1 不为 0 转移指令
5. 调用子程序指令
7. 中断返回指令
五、位操作指令 1. 数据位传送指令
2. 位变量逻辑指令
3. 条件转移类指令