文档详情

单片机111条指令表

kms****20
实名认证
店铺
DOC
56KB
约6页
文档ID:39596685
单片机111条指令表_第1页
1/6

单片机指令表2010.10.21助记符指令说明字节数周期数(数据传递类指令)(数据传递类指令)MOVA,Rn 寄存器传送到累加器1 1 MOVA,direct 直接地址传送到累加器2 1 MOVA,@Ri 累加器传送到外部 RAM(8 地址) 1 1 MOVA,#data 立即数传送到累加器2 1 MOVRn,A 累加器传送到寄存器1 1 MOVRn,direct 直接地址传送到寄存器2 2 MOVRn,#data 累加器传送到直接地址2 1 MOVdirect,Rn 寄存器传送到直接地址2 1 MOVdirect,direct 直接地址传送到直接地址3 2 MOVdirect,A 累加器传送到直接地址2 1 MOVdirect,@Ri 间接 RAM 传送到直接地址2 2 MOVdirect,#data 立即数传送到直接地址3 2 MOV@Ri,A 直接地址传送到直接地址1 2 MOV@Ri,direct 直接地址传送到间接 RAM 2 1 MOV@Ri,#data 立即数传送到间接 RAM 2 2 MOVDPTR,#data16 16 位常数加载到数据指针3 1 MOVCA,@A+DPTR 代码字节传送到累加器1 2 MOVCA,@A+PC 代码字节传送到累加器1 2 MOVXA,@Ri 外部 RAM(8 地址)传送到累加器1 2 MOVXA,@DPTR 外部 RAM(16 地址)传送到累加器1 2 MOVX@Ri,A 累加器传送到外部 RAM(8 地址) 1 2 MOVX@DPTR,A 累加器传送到外部 RAM(16 地址) 1 2 PUSHdirect 直接地址压入堆栈2 2 POPdirect 直接地址弹出堆栈2 2 XCHA,Rn 寄存器和累加器交换1 1 XCHA, direct 直接地址和累加器交换2 1 XCHA, @Ri 间接 RAM 和累加器交换1 1 XCHDA, @Ri 间接 RAM 和累加器交换低 4 位字节1 1 (算术运算类指令算术运算类指令)INCA 累加器加 1 1 1 INCRn 寄存器加 1 1 1 INCdirect 直接地址加 1 2 1 INC@Ri 间接 RAM 加 1 1 1 INCDPTR 数据指针加 1 1 2 DECA 累加器减 1 1 1 DECRn 寄存器减 1 1 1 DECdirect 直接地址减 1 2 2DEC@Ri 间接 RAM 减 1 1 1 MULAB 累加器和 B 寄存器相乘1 4 DIVAB 累加器除以 B 寄存器1 4 DAA 累加器十进制调整1 1 ADDA,Rn 寄存器与累加器求和1 1 ADDA,direct 直接地址与累加器求和2 1 ADDA,@Ri 间接 RAM 与累加器求和1 1 ADDA,#data 立即数与累加器求和2 1 ADDCA,Rn 寄存器与累加器求和(带进位) 1 1 ADDCA,direct 直接地址与累加器求和(带进位) 2 1 ADDCA,@Ri 间接 RAM 与累加器求和(带进位) 1 1 ADDCA,#data 立即数与累加器求和(带进位) 2 1 SUBBA,Rn 累加器减去寄存器(带借位) 1 1 SUBBA,direct 累加器减去直接地址(带借位) 2 1 SUBBA,@Ri 累加器减去间接 RAM(带借位) 1 1 SUBBA,#data 累加器减去立即数(带借位) 2 1 (逻辑运算类指令逻辑运算类指令)ANLA,Rn 寄存器“与”到累加器1 1 ANLA,direct 直接地址“与”到累加器2 1 ANLA,@Ri 间接 RAM“与”到累加器1 1 ANLA,#data 立即数“与”到累加器2 1 ANLdirect,A 累加器“与”到直接地址2 1 ANLdirect, #data 立即数“与”到直接地址3 2 ORLA,Rn 寄存器“或”到累加器1 2 ORLA,direct 直接地址“或”到累加器2 1 ORLA,@Ri 间接 RAM“或”到累加器1 1 ORLA,#data 立即数“或”到累加器2 1 ORLdirect,A 累加器“或”到直接地址2 1 ORLdirect, #data 立即数“或”到直接地址3 1 XRLA,Rn 寄存器“异或”到累加器1 2 XRLA,direct 直接地址“异或”到累加器2 1 XRLA,@Ri 间接 RAM“异或”到累加器1 1 XRLA,#data 立即数“异或”到累加器2 1 XRLdirect,A 累加器“异或”到直接地址2 1 XRLdirect, #data 立即数“异或”到直接地址3 1 CLRA 累加器清零1 2 CPLA 累加器求反1 1 RLA 累加器循环左移1 1 RLCA 带进位累加器循环左移1 1 RRA 累加器循环右移1 1 RRCA 带进位累加器循环右移1 1 SWAPA 累加器高、低 4 位交换1 1 (控制转移类指令控制转移类指令)JMP@A+DPTR 相对 DPTR 的无条件间接转移1 2 JZrel 累加器为 0 则转移2 2 JNZrel 累加器为 1 则转移2 2 CJNEA,direct,rel 比较直接地址和累加器,不相等转移3 2 CJNEA,#data,rel 比较立即数和累加器,不相等转移3 2 CJNERn,#data,rel 比较寄存器和立即数,不相等转移2 2 CJNE@Ri,#data,rel 比较立即数和间接 RAM,不相等转移3 2 DJNZRn,rel 寄存器减 1,不为 0 则转移3 2 DJNZdirect,rel 直接地址减 1,不为 0 则转移3 2 NOP 空操作,用于短暂延时1 1 ACALL add11 绝对调用子程序2 2 LCALL add16 长调用子程序3 2 RET 从子程序返回1 2 RETI 从中断服务子程序返回1 2 AJMP add11 无条件绝对转移2 2 LJMP add16 无条件长转移3 2 SJMP rel 无条件相对转移2 2 (布尔指令布尔指令)CLR C 清进位位1 1 CLR bit 清直接寻址位2 1 SETB C 置位进位位1 1 SETB bit 置位直接寻址位2 1 CPL C 取反进位位1 1 CPL bit 取反直接寻址位2 1 ANL C,bit 直接寻址位“与”到进位位2 2 ANL C,/bit 直接寻址位的反码“与”到进位位2 2 ORL C,bit 直接寻址位“或”到进位位2 2 ORL C,/bit 直接寻址位的反码“或”到进位位2 2 MOV C,bit 直接寻址位传送到进位位2 1 MOV bit, C 进位位位传送到直接寻址2 2 JC rel 如果进位位为 1 则转移2 2 JNC rel 如果进位位为 0 则转移2 2 JB bit,rel 如果直接寻址位为 1 则转移3 2 JNB bit,rel 如果直接寻址位为 0 则转移3 2 JBC bit,rel 直接寻址位为 1 则转移并清除该位2 2 (伪指令)(伪指令)ORG 指明程序的开始位置 DB 定义数据表 DW 定义 16 位的地址表 EQU 给一个表达式或一个字符串起名 DATA给一个 8 位的内部 RAM 起名 XDATA 给一个 8 位的外部 RAM 起名 BIT 给一个可位寻址的位单元起名 END 指出源程序到此为止 (指令中的符号标识)(指令中的符号标识)Rn 工作寄存器 R0-R7 Ri 工作寄存器 R0 和 R1 @Ri 间接寻址的 8 位 RAM 单元地址(00H-FFH) #data88 位常数#data1616 位常数addr1616 位目标地址,能转移或调用到 64KROM 的任何地方addr1111 位目标地址,在下条指令的 2K 范围内转移或调用Rel8 位偏移量,用于 SJMP 和所有条件转移指令,范围-128~+127 Bit 片内 RAM 中的可寻址位和 SFR 的可寻址位Direct 直接地址,范围片内 RAM 单元(00H-7FH)和 80H-FFH $ 指本条指令的起始位置随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、 可*性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到 了广泛的应用。

学习、使用单片机的人越来越多,而生产单片机的厂家很多,单片机种类繁杂,不知 如何选择据统计,八位单片机占全球单片机销量的 65%在八位单片机中,Intel 公司的 8051 单片 机内核已成为 8 位单片机事实上的标准因此,对初学者而言,选择 8051 单片机来学习不失为明智的 选择学习单片机,除了搞清单片机内部功能、存储空间分配及 I/O 接口外,还应掌握其指令系统 MCS-51 共有 111 条指令,现介绍我们总结出的快速记忆 MCS-51 指令的方法,供大家参考大家都知道,汇编语言指令由操作码、操作数两部分组成MCS-51 使用汇编语言指令,它共有 44 个操作码助记符,33 种功能,其操作数有#data、direct、Rn、@Ri 等这里先介绍指令助记符及 其相关符号的记忆方法一、助记符号的记忆方法一、助记符号的记忆方法1 1、、表格列举法把 44 个指令助记符按功能分为五类,每类列表记忆此处从略,请读者自己总结2 2、、英文还原法单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理 解其助记符含义,从而加强记忆例如: 增量 INC-Incremect 减量 DNC-Decrement 短转移 SJMP-Short jump 长转移 LJMP-Long jump 比较转移 CJNE-Compare jump not equality 绝对转移 AJMP-Absolute jump 空操作 NOP-No operation 交换 XCH-Exchange 加法 ADD-Addition 乘法 MUL-Multiplication 除法 DIV-Division 左环移 RL-Rotate left 进位左环移 RLC-Rotateleft carry 右环移 RR-Rotate right 进位右环移 RRC-Rotateright carry3 3、、功能模块记忆法单片机的 44 个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原则为 2~3 组。

这样,化整为零,各个击破,实现快速记忆1 1))数据传送组 2 2))加减运算组MOV 内部数据传送 ADD 加法MOVC 程序存储器传送 ADDC 带进位加法MOVX 外部数据传送 SUBB 带进位减法3 3))逻辑运算组 4)子程序调用组ANL 逻辑与 LCALL 长调用ORL 逻辑或 ALALL 绝对调用XRL 逻辑异或 RET 子程序返回二、指令的记忆方法二、指令的记忆方法一、一、指令操作数的有关符号MCS-51 的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、 相对寻址我们必须掌握其表示的方法1 1))立即数与直接地址ata 表示八位立即数,#data16 表示是十六位立即数,data 或 direct 表示直接地址2 2))Rn(n=0-7)、A、B、CY、DPTR 寄存器寻址变量3 3))@R0、@R1、@DPTR、SP 表示寄存器间址变量4 4))DPTR+A、PC+A 表示变址寻址的变量5 5))PC+rel(相对量)表示相对寻址变量记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基 础。

MCS-51 指令虽多,但按功能可分为五类,其中数据传送类 28 条,算术运算类 24 条,逻辑操作 类 25 条,控制转移类 17 条,布尔位操作类 17 条在每类指令里,根据其功能,抓住其源、目的操作。

下载提示
相似文档
正为您匹配相似的精品文档