《2022年MCS单片机的指令集 .pdf》由会员分享,可在线阅读,更多相关《2022年MCS单片机的指令集 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 MCS51 单片机的指令集MCS-51 单片机的指令集1、数据传送类指令助记符功能说明字节数振荡周期MOV A,Rn 寄存器内容送入累加器1 12 MOV A,direct 直接地址单元中的数据送入累加器2 12 MOV A,Ri 间接 RAM 中的数据送入累加器1 12 MOV A,#data8 8 位立即数送入累加器2 12 MOV Rn,A 累加器内容送入寄存器1 12 MOV Rn,direct 直接地址单元中的数据送入寄存器2 24 MOV Rn,#data8 8 位立即数送入寄存器2 12 MOV direct,A 累加器内容送入直接地址单元2 12 MOV direct,Rn
2、 寄存器内容送入直接地址单元2 24 MOV direct,direct 直接地址单元中的数据送入直接地址单元3 24 MOV direct,Ri 间接 RAM 中的数据送入直接地址单元2 24 MOV direct,#data8 8 位立即数送入直接地址单元3 24 MOV Ri,A 累加器内容送入间接RAM 单元1 12 MOV Ri,direct 直接地址单元中的数据送入间接RAM 单元 2 24 MOV Ri,#data8 8 位立即数送入间接RAM 单元2 12 MOV DPTR,#data16 16 位立即数地址送入地址寄存器3 24 MOVC A,A+DPTR 以 DPTR 为基
3、地址变址寻址单元中的数据送入累加器1 24 MOVC A,A+PC 以 PC 为基地址变址寻址单元中的数据送入累加器1 24 MOVX A,Ri 外部 RAM(8 位地址 )送入累加器1 24 MOVX A,DPTR 外部 RAM(16 位地址 )送入累加器1 24 MOVX Ri,A 累加器送入外部RAM(8 位地址 ) 1 24 MOVX DPTR,A 累加器送入外部RAM(16 位地址 ) 1 24 PUSH direct 直接地址单元中的数据压入堆栈2 24 POP DIRECT 堆栈中的数据弹出到直接地址单元2 24 XCH A,Rn 寄存器与累加器交换1 12 XCH A,dire
4、ct 直接地址单元与累加器交换2 12 XCH A,Ri 间接 RAM 与累加器交换1 12 XCHD A,Ri 间接 RAM 与累加器进行低半字节交换1 12 2、算术操作类指令助记符功能说明字节数振荡周期ADD A,Rn 寄存器内容加到累加器1 12 ADD A,direct 直接地址单元加到累加器2 12 ADD A,Ri 间接 RAM 内容加到累加器1 12 ADD A,#data8 8 位立即数加到累加器2 12 ADDC A,Rn 寄存器内容带进位加到累加器1 12 ADDC A,dirct 直接地址单元带进位加到累加器2 12 ADDC A,Ri 间接 RAM 内容带进位加到累加
5、器1 12 ADDC A,#data8 8 位立即数带进位加到累加器2 12 SUBB A,Rn 累加器带借位减寄存器内容1 12 SUBB A,dirct 累加器带借位减直接地址单元2 12 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 2 SUBB A,Ri 累加器带借位减间接RAM 内容1 12 SUBB A,#data8 累加器带借位减8 位立即数2 12 INC A 累加器加1 1 12 INC Rn 寄存器加1 1
6、 12 INC direct 直接地址单元内容加1 2 12 INC Ri 间接 RAM 内容加 1 1 12 INC DPTR DPTR 加 1 1 24 DEC A 累加器减1 1 12 DEC Rn 寄存器减1 1 12 DEC direct 直接地址单元内容减1 2 12 DEC Ri 间接 RAM 内容减 1 1 12 MUL A,B A 乘以 B 1 48 DIV A,B A 除以 B 1 48 DA A 累加器进行十进制转换1 12 3、逻辑操作类指令助记符功能说明字节数振荡周期ANL A,Rn 累加器与寄存器相“ 与”1 12 ANL A,direct 累加器与直接地址单元相“
7、 与”2 12 ANL A,Ri 累加器与间接RAM 内容相 “ 与 ”1 12 ANL A,#data8 累加器与8 位立即数相 “ 与”2 12 ANL direct,A 直接地址单元与累加器相“ 与”2 12 ANL direct,#data8 直接地址单元与8 位立即数相 “ 与”3 24 ORL A,Rn 累加器与寄存器相“ 或 ”1 12 ORL A,direct 累加器与直接地址单元相“ 或”2 12 ORL A,Ri 累加器与间接RAM 内容相 “ 或 ”1 12 ORL A,#data8 累加器与8 位立即数相 “ 或”2 12 ORL direct,A 直接地址单元与累加器
8、相“ 或”2 12 ORL direct,#data8 直接地址单元与8 位立即数相 “ 或”3 24 XRL A,Rn 累加器与寄存器相“ 异或 ”1 12 XRL A,direct 累加器与直接地址单元相“ 异或 ”2 12 XRL A,Ri 累加器与间接RAM 内容相 “ 异或 ”1 12 XRL A,#data8 累加器与8 位立即数相 “ 异或 ”2 12 XRL direct,A 直接地址单元与累加器相“ 异或 ”2 12 XRL direct,#data8 直接地址单元与8 位立即数相 “ 异或 ”3 24 CLR A 累加器清0 1 12 CPL A 累加器求反1 12 RL
9、A 累加器循环左移1 12 RLC A 累加器带进位循环左移1 12 RR A 累加器循环右移1 12 RRC A 累加器带进位循环右移1 12 SWAP A 累加器半字节交换1 12 4、控制转移类指令助记符功能说明字节数振荡周期ACALL addr11 绝对短调用子程序2 24 LACLL addr16 长调用子程序3 24 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 3 RET 子程序返回1 24 RETI 中断返回1
10、 24 AJMP addr11 绝对短转移2 24 LJMP addr16 长转移3 24 SJMP rel 相对转移2 24 JMP A+DPTR 相对于 DPTR 的间接转移1 24 JZ rel 累加器为零转移2 24 JNZ rel 累加器非零转移2 24 CJNE A,direct,rel 累加器与直接地址单元比较,不等则转移3 24 CJNE A,#data8,rel 累加器与 8 位立即数比较,不等则转移3 24 CJNE Rn,#data8,rel 寄存器与8 位立即数比较,不等则转移(相等则执行本指令的下一条)3 24 CJNE Ri,#data8,rel 间接RAM 单元,
11、不等则转移(但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能,如果两数不相等,则CPU 还会反映出哪个数大,哪个数小,这是用CY(进位位)来实现的。如果前面的数(A 中的)大,则CY=0 ,否则 CY=1) 3 24 DJNZ Rn,rel 寄存器减1,非零转移3 24 DJNZ direct,rel 直接地址单元减1,非零转移3 24 NOP 空操作1 12 控制转移指令共有17 条,可分为 “ 无条件转移指令” “有条件转移指令” “子程序调用指令” 及 “ 返回指令 ” 。5、布尔变量操作类指令助记符功能说明字节数振荡周期CLR C 清进位位1 12 CLR bit 清
12、直接地址位2 12 SETB C 置进位位1 12 SETB bit 置直接地址位2 12 CPL C 进位位求反1 12 CPL bit 直接地址位求反2 12 ANL C,bit 进位位和直接地址位相“ 与 ”2 24 ANL C,bit 进位位和直接地址位的反码相“ 与”2 24 ORL C,bit 进位位和直接地址位相“ 或”2 24 ORL C,bit 进位位和直接地址位的反码相“ 或”2 24 MOV C,bit 直接地址位送入进位位2 12 MOV bit,C 进位位送入直接地址位2 24 JC rel 进位位为1 则转移 (CY=O 不转移, =1 转移 ) 2 24 JNC
13、rel 进位位为0 则转移(和上面相反)2 24 JB bit,rel 直接地址位为1 则转移3 24 JNB bit,rel 直接地址位为0 则转移3 24 JBC bit,rel 直接地址位为1 则转移,该位清零3 24 伪指令助记符功能说明字节数振荡周期ORG 设置程序起始地址END 标志源代码结束EQU 定义常数SET 定义整型数DATA 给字节类型符号定值名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 4 BYTE 给
14、字节类型符号定值WROD 给字类型符号定值BIT 给位地址取名ALTNAME 用自定义名取代保留字DB 给一块连续的存储区装载字节型数据DW 给一块连续的存储区装载字型数据DS 预留一个连续的存储区或装入指定字节。INCLUDE 将一个源文件插入程序中I TITLE 列表文件中加入标题行NOLIST 汇编时不产生列表文件NOCODE 条件汇编时,条件为假的不产生清单寄存器:符号地址功能介绍B F0H B 寄存器ACC E0H 累加器PSW D0H 程序状态字IP B8H 中断优先级控制寄存器P3 B0H P3 口锁存器IE A8H 中断允许控制寄存器P2 A0H P2 口锁存器SBUF 99H
15、 串行口锁存器SCON 98H 串行口控制寄存器P1 90H P1 口锁存器TH1 8DH 定时器 /计数器 1(高 8 位)TH0 8CH 定时器 /计数器 1(低 8 位)TL1 8BH 定时器 /计数器 0(高 8 位)TL0 8AH 定时器 /计数器 0(低 8 位)TMOD 89A 定时器 /计数器方式控制寄存器TCON 88H 定时器 /计数器控制寄存器DPH 83H 数据地址指针(高8 位)DPL 82H 数据地址指针(低8 位)SP 81H 堆栈指针P0 80H P0 口锁存器PCON 87H 电源控制寄存器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -