Never save something for a special occasion. Every day in your life is a special occasion.
分类: 嵌入式
2011-01-03 22:42:48
1 MCS-51的7种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、相对寻址、位寻址。
基址变址寻址中
MOVC A,@A+DPTR/PC 用于查表
JMP @A+DPTR 用于跳转分支
2 指令系统
2.1 MCS-51指令系统可分为下列 5 类:数据传送、算术运算、逻辑运算、位操作、控制转移。
2.2
数据传送类指令 |
1 数据传送到累加器A MOV A, Rn / @Ri / direct / #data |
2 数据传送到工作寄存器Rn MOV Rn, A / direct / #data |
3 数据传送到内部RAM单元 或 特殊功能寄存器SFR MOV direct, A / Rn / direct2 / @Ri / #data MOV @Ri, A/direct/#data MOV DPTR, #data16 |
4 累加器A与外部数据存储器之间的传送 MOVX A, @DPTR/@Ri MOVX @DPTR / @Ri, A |
5 堆栈操作(堆栈类型FI) PUSH / POP direct |
6 程序存储器内部送累加器(查表) MOVC A, @A+DPTR/PC |
7 字节交换指令 XCH A,Rn / @Ri / direct XCHD A, @Ri SWAP A |
2.3 算术运算指令:ADD、ADDC、INC、SUBB、DEC,MUL、DIV,DA
ADD/ADDC/SUBB A, Rn / direct / @Ri / #data
INC/DEC A / Rn / @Ri / direct
INC DPTR
MULL/DIV AB
DA
加法和溢出:对于无符号数, Cy=1;对于有符号数, OV=1.
DA为压缩型BCD码加法调整。
压缩型BCD码加减结果修正:
加法
先低4位后高4位;
低4位:若小于或等于9(AC=0),则低4位不需修正;若大于9(AC=1),该位进行加6修正。
高4位:同低4位。
减法
先低4位后高4位;
低4位:若小于或等于9(AC=0),则低4位不需修正;若AC=1,则减6修正。
高4位:同低4位。
2.4 逻辑运算类指令:CLR、CPL;ANL、ORL、XRL;RL、RLC、RR、RRC
简单逻辑操作CLR/CPL/RL/RLC/RR/RRC A
2.5 控制转移类指令:AJMP、LJMP、SJMP、JMP;ACALL、LCALL;JZ、JNZ、CJNE、DJNZ
无条件转移 AJMP addr11、 LJMP add16、SJMP rel、JMP @A+DPTR
条件转移 JZ rel、JNZ rel
比较转移 CJNE A,direct/#data, rel、 CNJE Rn/@Ri, #data, rel
减1非零 DJNZ Rn/direct, rel
调用及返回 ACALL add11、LCALL addr16、 RET, RETI
2.6 位操作类指令
包括布尔变量的传送、逻辑运算、控制转换等指令。
MOV;CLR、SET、CPL;ANL、ORL; JC、JNC、JBC
指令中位地址的表达形式有以下几种:直接地址方式,点操作符方式、位名称方式、用BIT定义的用户定义名方式。
指令系统小结:理解和掌握MCS-51指令系统,是应用MCS-51单片机的一个重要前提。