首页 8051指令系统

8051指令系统

举报
开通vip

8051指令系统8051指令系统 李艳生整理 8051指令系统 1、 寻址方式 寻址方式 操作数地址(PA) 指令格式举例 1立即寻址 操作数在指令中直接给出 MOV A,#69H; (A)←69 2寄存器寻址 操作数在寄存器中 MOV A,R0 ; (A)←(R0) 3直接寻址 操作数的有效地址由指令直接给出 MOV A,4FH; ...

8051指令系统
8051指令系统 李艳生整理 8051指令系统 1、 寻址方式 寻址方式 操作数地址(PA) 指令格式举例 1立即寻址 操作数在指令中直接给出 MOV A,#69H; (A)←69 2寄存器寻址 操作数在寄存器中 MOV A,R0 ; (A)←(R0) 3直接寻址 操作数的有效地址由指令直接给出 MOV A,4FH; (A)←(4F) 4寄存器间接寻址 指令中给出的寄存器的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 为操作数的地址 MOV A,@R1; (A)←[R1] 5变址寻址 指定的变址寄存器的内容与指令中给出的偏移量相加,所得的结果作为操作数地址 MOVC A,@A+DPTR; (A)←[(DPTR)+(A)] 6相对寻址 由程序计数器PC提供的基地址与指令中提供的偏移量OFFSET相加,得到操作数的地址 SJMP OFFSET; (PC)←((PC)+OFFSET) 7位 寻 址 操作数是二进制数的某一位,其位地址出现在指令中 SETB bit; 2、 指 令 表 1.按字母顺序排列的指令表 助记符 功能说明 字节 振荡周期 ACALL  addr11 绝对短调用子程序 2 24 ADD    A,#data8 8位立即数加到累加器 2 12 ADD    A,@Ri 间接RAM内容加到累加器 1 12 ADD    A,direct 直接地址单元加到累加器 2 12 ADD    A,Rn 寄存器内容加到累加器 1 12 ADDC   A,#data8 8位立即数带进位加到累加器 2 12 ADDC   A,@Ri 间接RAM内容带进位加到累加器 1 12 ADDC   A,dirct 直接地址单元带进位加到累加器 2 12 ADDC   A,Rn 寄存器内容带进位加到累加器 1 12 AJMP   addr11 绝对短转移 2 24 ANL    A,#data8 累加器与8位立即数相“与” 2 12 ANL    A,@Ri 累加器与间接RAM内容相“与” 1 12 ANL    A,direct 累加器与直接地址单元相“与” 2 12 ANL    A,Rn 累加器与寄存器相“与” 1 12 ANL    C,bit 进位位和直接地址位相“与” 2 24 ANL    C,bit 进位位和直接地址位的反码相“与” 2 24 ANL    direct,#data8 直接地址单元与8位立即数相“与” 3 24 ANL    direct,A 直接地址单元与累加器相“与” 2 12 CJNE   @Ri,#data8,rel 间接RAM单元,不等则转移 3 24 CJNE   A,#data8,rel 累加器与8位立即数比较,不等则转移 3 24 CJNE   A,direct,rel 累加器与直接地址单元比较,不等则转移 3 24 CJNE   Rn,#data8,rel 寄存器与8位立即数比较,不等则转移 3 24 CLR    A 累加器清0 1 12 CLR    bit 清直接地址位 2 12 CLR    C 清进位位 1 12 CPL    A 累加器求反 1 12 CPL    bit 直接地址位求反 2 12 CPL    C 进位位求反 1 12 DA     A 累加器进行十进制转换 1 12 DEC    @Ri 间接RAM内容减1 1 12 DEC    A 累加器减1 1 12 DEC    direct 直接地址单元内容减1 2 12 DEC    Rn 寄存器减1 1 12 DIV    A,B A除以B 1 48 DJNZ   direct,rel 直接地址单元减1,非零转移 3 24 DJNZ   Rn,rel 寄存器减1,非零转移 3 24 INC    @Ri 间接RAM内容加1 1 12 INC    A 累加器加1 1 12 INC    direct 直接地址单元内容加1 2 12 INC    DPTR DPTR加1 1 24 INC    Rn 寄存器加1 1 12 JB     bit,rel 直接地址位为1则转移 3 24 JBC    bit,rel 直接地址位为1则转移,该位清零 3 24 JC     rel 进位位为1则转移 2 24 JMP    @A+DPTR 相对于DPTR的间接转移 1 24 JNB    bit,rel 直接地址位为0则转移 3 24 JNC    rel 进位位为0则转移 2 24 JNZ    rel 累加器非零转移 2 24 JZ     rel 累加器为零转移 2 24 LACLL  addr16 长调用子程序 3 24 LJMP   addr16 长转移 3 24 MOV    @DPTR,A 累加器送入外部RAM(16位地址) 1 24 MOV    @Ri,#data8 8位立即数送入间接RAM单元 2 12 MOV    @Ri,A 累加器内容送入间接RAM单元 1 12 MOV    @Ri,A 累加器送入外部RAM(8位地址) 1 24 MOV    @Ri,direct 直接地址单元中的数据送入间接RAM单元 2 24 MOV    A,#data8 8位立即数送入累加器 2 12 MOV    A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 24 MOV    A,@A+PC 以PC为基地址变址寻址单元中的数据送入累加器 1 24 MOV    A,@DPTR 外部RAM(16位地址)送入累加器 1 24 MOV    A,@Ri 间接RAM中的数据送入累加器 1 12 MOV    A,@Ri 外部RAM(8位地址)送入累加器 1 24 MOV    A,direct 直接地址单元中的数据送入累加器 2 12 MOV    A,Rn 寄存器内容送入累加器 1 12 MOV    bit,C 进位位送入直接地址位 2 24 MOV    C,bit 直接地址位送入进位位 2 12 MOV    direct,#data8 8位立即数送入直接地址单元 3 24 MOV    direct,@Ri 间接RAM中的数据送入直接地址单元 2 24 MOV    direct,A 累加器内容送入直接地址单元 2 12 MOV    direct,direct 直接地址单元中的数据送入直接地址单元 3 24 MOV    direct,Rn 寄存器内容送入直接地址单元 2 24 MOV    DPTR,#data16 16位立即数地址送入地址寄存器 3 24 MOV    Rn,#data8 8位立即数送入寄存器 2 12 MOV    Rn,A 累加器内容送入寄存器 1 12 MOV    Rn,direct 直接地址单元中的数据送入寄存器 2 24 MUL    A,B A乘以B 1 48 NOP 空操作 1 12 ORL    A,#data8 累加器与8位立即数相“或” 2 12 ORL    A,@Ri 累加器与间接RAM内容相“或” 1 12 ORL    A,direct 累加器与直接地址单元相“或” 2 12 ORL    A,Rn 累加器与寄存器相“或” 1 12 ORL    C,bit 进位位和直接地址位相“或” 2 24 ORL    C,bit 进位位和直接地址位的反码相“或” 2 24 ORL    direct,#data8 直接地址单元与8位立即数相“或” 3 24 ORL    direct,A 直接地址单元与累加器相“或” 2 12 POP    DIRECT 堆栈中的数据弹出到直接地址单元 2 24 PUSH   direct 直接地址单元中的数据压入堆栈 2 24 RET 子程序返回 1 24 RETI 中断返回 1 24 RL     A 累加器循环左移 1 12 RLC    A 累加器带进位循环左移 1 12 RR     A 累加器循环右移 1 12 RRC    A 累加器带进位循环右移 1 12 SETB   bit 置直接地址位 2 12 SETB   C 置进位位 1 12 SJMP   rel 相对转移 2 24 SUBB   A,#data8 累加器带借位减8位立即数 2 12 SUBB   A,@Ri 累加器带借位减间接RAM内容 1 12 SUBB   A,dirct 累加器带借位减直接地址单元 2 12 SUBB   A,Rn 累加器带借位减寄存器内容 1 12 SWAP   A 累加器半字节交换 1 12 XCH    A,@Ri 间接RAM与累加器交换 1 12 XCH    A,direct 直接地址单元与累加器交换 2 12 XCH    A,Rn 寄存器与累加器交换 1 12 XCHD   A,@Ri 间接RAM与累加器进行低半字节交换 1 12 XRL    A,#data8 累加器与8位立即数相“异或” 2 12 XRL    A,@Ri 累加器与间接RAM内容相“异或” 1 12 XRL    A,direct 累加器与直接地址单元相“异或” 2 12 XRL    A,Rn 累加器与寄存器相“异或” 1 12 XRL    direct,#data8 直接地址单元与8位立即数相“异或” 3 24 XRL    direct,A 直接地址单元与累加器相“异或” 2 12 2. 按类别顺序排列的指令表 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 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 MOV    A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 24 MOV    A,@A+PC 以PC为基地址变址寻址单元中的数据送入累加器 1 24 MOV    A,@Ri 外部RAM(8位地址)送入累加器 1 24 MOV    A,@DPTR 外部RAM(16位地址)送入累加器 1 24 MOV    @Ri,A 累加器送入外部RAM(8位地址) 1 24 MOV    @DPTR,A 累加器送入外部RAM(16位地址) 1 24 PUSH   direct 直接地址单元中的数据压入堆栈 2 24 POP    DIRECT 堆栈中的数据弹出到直接地址单元 2 24 XCH    A,Rn 寄存器与累加器交换 1 12 XCH    A,direct 直接地址单元与累加器交换 2 12 XCH    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内容带进位加到累加器 1 12 ADDC   A,#data8 8位立即数带进位加到累加器 2 12 SUBB   A,Rn 累加器带借位减寄存器内容 1 12 SUBB   A,dirct 累加器带借位减直接地址单元 2 12 SUBB   A,@Ri 累加器带借位减间接RAM内容 1 12 SUBB   A,#data8 累加器带借位减8位立即数 2 12 INC    A 累加器加1 1 12 INC    Rn 寄存器加1 1 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 3、逻辑操作类指令 助记符 功能说明 字节数 振荡周期 ANL    A,Rn 累加器与寄存器相“与” 1 12 ANL    A,direct 累加器与直接地址单元相“与” 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 直接地址单元与累加器相“或” 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     A 累加器循环左移 1 12 RLC    A 累加器带进位循环左移 1 12 RR     A 累加器循环右移 1 12 RRC    A 累加器带进位循环右移 1 12 4、控制转移类指令 助记符 功能说明 字节数 振荡周期 ACALL  addr11 绝对短调用子程序 2 24 LACLL  addr16 长调用子程序 3 24 RET 子程序返回 1 24 RETI 中断返回 1 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单元,不等则转移 3 24 DJNZ   Rn,rel 寄存器减1,非零转移 3 24 DJNZ   direct,rel 直接地址单元减1,非零转移 3 24 5、布尔变量操作类指令 助记符 功能说明 字节数 振荡周期 CLR    C 清进位位 1 12 CLR    bit 清直接地址位 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则转移 2 24 JNC    rel 进位位为0则转移 2 24 JB     bit,rel 直接地址位为1则转移 3 24 JNB    bit,rel 直接地址位为0则转移 3 24 PAGE 7
本文档为【8051指令系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_689703
暂无简介~
格式:doc
大小:300KB
软件:Word
页数:8
分类:
上传时间:2012-05-06
浏览量:36