pdf

8051指令集

  • 1星
  • 日期: 2016-04-20
  • 大小: 1.16MB
  • 所需积分:5分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 8051指令集

8051指令集

8051

8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔公司于1981年制造。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。 8051单芯片是同步式的顺序逻辑系统,整个系统的工作完全是依赖系统内部的时脉信号,用以来产生各种动作周期及同步信号。在8051单片机中已内建时钟产生器,在使用时只需接上石英晶体谐振器(或其它振荡子)及电容,就可以让系统产生正确的时钟信号。

8051的汇编指令集,需要的可以下载

文档内容节选

80C51 汇编指令集 由 jyfjk 于 20071212 整理 按功能排列 1数据传送指令 助 记 符 说明 字节 周期 代 码 MOV ARn 寄存器送 A MOV Adata 直接字节送 A MOV ARi 间接 RAM 送 A MOV Adata 立接数送 A MOV RnA A 送寄存器 MOV Rndata 直接数送寄存器 MOV Rndata 立即数送寄存器 MOV dataA A 送直接字节 MOV dataRn 寄存器送直接字节 MOV datadata 直接字节送直接字节 MOV dataRi 间接 Rn 送直接字节 MOV datadata 立即数送直接字节 MOV RiA A 送间接 Rn MOV Ridata 直接字节送间接 Rn MOV Ridata 立即数送间接 Rn MOV DPTRdata16 16 位常数送数据指针 MOV Cbit MOV bitC 直接位送进位位 进位位送直接位 MOVC AADPTR ADPTR 寻址程序存贮字节送 A MOVC AAPC ......

80C51 汇编指令集 由 jyfjk 于 2007-12-12 整理 按功能排列 1.数据传送指令 助 记 符 说明 字节 周期 代 码 MOV A,Rn 寄存器送 A MOV A,data 直接字节送 A MOV A,@Ri 间接 RAM 送 A MOV A,#data 立接数送 A MOV Rn,A A 送寄存器 MOV Rn,data 直接数送寄存器 MOV Rn,#data 立即数送寄存器 MOV data,A A 送直接字节 MOV data,Rn 寄存器送直接字节 MOV data,data 直接字节送直接字节 MOV data,@Ri 间接 Rn 送直接字节 MOV data,#data 立即数送直接字节 MOV @Ri,A A 送间接 Rn MOV @Ri,data 直接字节送间接 Rn MOV @Ri,#data 立即数送间接 Rn MOV DPTR,#data16 16 位常数送数据指针 MOV C,bit MOV bit,C 直接位送进位位 进位位送直接位 MOVC A,@A+DPTR A+DPTR 寻址程序存贮字节送 A MOVC A,@A+PC A+PC 寻址程序存贮字节送 A MOVX A,@Ri 外部数据送 A(8 位地址) MOVX A,@DPTR 外部数据送 A(16 位地址) MOVX @Ri,A A 送外部数据(8 位地址) MOVX @DPTR,A A 送外部数据(16 位地址) PUSH data 直接字节进栈道,SP 加 1 POP data XCH A,Rn 直接字节出栈,SP 减 1 寄存器与 A 交换 XCH A,data 直接字节与 A 交换 XCH A,@Ri 间接 Rn 与 A 交换 XCHD A,@Ri 间接 Rn 与 A 低半字节交换 1 2 1 2 1 2 2 2 2 3 2 3 1 1 2 3 2 2 3 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 E8--EF E5 E6--E7 74 F8--FF A8--AF 78--7F F5 88—8F 85 86;87 75 F6;F7 A6;A7 76;77 90 A2 92 93 83 E2;E3 E0 F2;F3 F0 C0 D0 C8—CF C5 C6;C7 D6;D7 2.逻辑运算指令 助 记 符 说明 ANL A,Rn 寄存器与到A ANL A,data 直接字节与到A ANL A,@Ri 间接RAM与到A ANL A,#data 立即数与到A ANL data,A A与到直接字节 ANL data,#data 立即数与到直接字节 ANL C,bit 直接位与到进位位 ANL C,/bit 直接位的反码与到进位位 ORL A,Rn 寄存器或到A ORL A,data 直接字节或到A ORL A,@Ri 间接RAM或到A ORL A,#data 立即数或到A ORL data,A A或到直接字节 ORL data,#data 立即数或到直接字节 ORL C,bit 直接位或到进位位 ORL C,/bit 直接位的反码或到进位位 XRL A,Rn 寄存器异或到A XRL A,data 直接字节异或到A XRL A,@Ri 间接RAM异或到A XRL A,#data 立即数异或到A XRL data,A A异或到直接字节 XRL data,#data 立即数异或到直接字节 SETB C SETB bit CLR A CLR C CLR bit CPL A CPL C CPL bit RL A RLC A 进位位置 1 直接位置 1 A 清 0 进位位清 0 直接位清 0 A 求反码 进位位取反 直接位取反 A 循环左移一位 A 带进位左移一位 字节 周期 代 码 1 2 1 2 2 3 2 2 3 2 2 2 2 2 2 2 3 1 2 1 2 2 1 2 3 1 2 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 58—5F 55 56;57 54 52 53 82 B0 48—4F 45 46;47 44 42 43 72 A0 68—6F 65 66;67 64 62 63 D3 D2 E4 C3 C2 F4 B3 B2 23 33 RR A RRC A SWAP A A 右移一位 A 带进位右移一位 A 半字节交换 3.算术运算指令 助 记 符 说明 ADD A,Rn 寄存器加到 A ADD A,data 直接字节加到 A ADD A,@Ri 间接 RAM 加到 A ADD A,#data 立即数加到 A ADDC A,Rn 寄存器带进位加到 A ADDC A,data 直接字节带进位加到 A ADDC A,@Ri 间接 RAM 带进位加到 A ADDC A,#data 立即数带进位加到 A SUBB A,Rn 从 A 中减去寄存器和进位 SUBB A,data 从 A 中减去直接字节和进位 SUBB A,@Ri 从 A 中减去间接 RAM 和进位 SUBB A,#data 从 A 中减去立即数和进位 INC A INC Rn INC data INC @Ri INC DPTR DEC A DEC Rn DEC data DEC @Ri MUL AB DIV AB DA A A 加 1 寄存器加 1 直接字节加 1 间接 RAM 加 1 数据指针加 1 A 减 1 寄存器减 1 直接字节减 1 间接 RAM 减 1 A 乘 B A 被 B 除 A 十进制调整 3.转移指令 助 记 符 说明 AJMP addr 11 绝对转移 LJMP addr 16 SJMP rel 长转移 短转移 1 1 1 1 1 1 03 13 C4 字节 周期 代 码 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 4 4 1 28—2F 25 26;27 24 38—3F 35 36;37 34 98—9F 95 96;97 94 04 08—0F 05 06;07 A3 14 18—1F 15 16;17 A4 84 D4 字节 周期 代 码 2 3 2 2 2 2 *1 02 80 JMP @A+DPTR 相对于 DPTR 间接转移 JZ rel JNZ rel JC rel JNC rel 若 A=0 则转移 若 A≠0 则转移 若 C=1 则转移 若 C≠1 则转移 JB bit,rel 若直接位=1 则转移 JNB bit,rel 若直接位=0 则转移 JBC bit,rel 若直接位=1 则转移且清除 CJNE A,data,rel 直接数与 A 比较,不等转移 CJNE A,#data,rel 立即数与 A 比较,不等转移 1 2 2 2 2 3 3 3 3 3 CJNE @Ri,#data,rel 立即数与间接 RAM 比较,不等转移 3 CJNE Rn,#data,rel 立即数与寄存器比较不等转移 DJNZ Rn,rel 寄存器减 1 不为 0 转移 DJNZ data,rel 直接字节减 1 不为 0 转移 ACALL addr 11 绝对子程序调用 LCALL addr 16 子程序调用 RET RETI NOP 按字母排列 1.数据传送指令 子程序调用返回 中断程序调用返回 空操作 3 2 3 2 3 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 73 60 70 40 50 20 30 10 B5 B4 B6;B7 B8—BF D8—DF D5 *1 12 22 32 00 助 记 符 说明 字节 周期 代 码 ACALL addr 11 绝对子程序调用 ADD A,Rn ADD A,data ADD A,@Ri 寄存器加到 A 直接字节加到 A 间接 RAM 加到 A ADD A,#data 立即数加到 A ADDC A,Rn 寄存器带进位加到 A ADDC A,data 直接字节带进位加到 A ADDC A,@Ri 间接 RAM 带进位加到 A ADDC A,#data 立即数带进位加到 A AJMP addr 11 绝对转移 ANL A,Rn 寄存器与到A ANL A,data 直接字节与到A 2 1 2 1 2 1 2 1 2 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 *1 28—2F 25 26;27 24 38—3F 35 36;37 34 *1 58—5F 55 ANL A,@Ri 间接RAM与到A ANL A,#data 立即数与到A ANL data,A A与到直接字节 ANL data,#data 立即数与到直接字节 ANL C,bit ANL C,/bit 直接位与到进位位 直接位的反码与到进位位 CJNE A,data,rel 直接数与 A 比较,不等转移 CJNE A,#data,rel 立即数与 A 比较,不等转移 1 2 2 3 2 2 3 3 CJNE @Ri,#data,rel 立即数与间接 RAM 比较,不等转移 3 CJNE Rn,#data,rel 立即数与寄存器比较不等转移 CLR A CLR C CLR bit CPL A CPL C CPL bit DA A DEC A DEC Rn DEC data DEC @Ri DIV AB A 清 0 进位位清 0 直接位清 0 A 求反码 进位位取反 直接位取反 A 十进制调整 A 减 1 寄存器减 1 直接字节减 1 间接 RAM 减 1 A 被 B 除 DJNZ Rn,rel 寄存器减 1 不为 0 转移 DJNZ data,rel 直接字节减 1 不为 0 转移 INC A INC Rn INC data INC @Ri INC DPTR A 加 1 寄存器加 1 直接字节加 1 间接 RAM 加 1 数据指针加 1 JB bit,rel 若直接位=1 则转移 JBC bit,rel 若直接位=1 则转移且清除 JC rel 若 C=1 则转移 JMP @A+DPTR 相对于 DPTR 间接转移 JNB bit,rel 若直接位=0 则转移 3 3 1 2 1 1 2 1 1 1 2 1 1 2 3 1 1 2 1 1 3 3 2 1 3 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 4 2 2 1 1 1 1 2 2 2 2 2 2 56;57 54 52 53 82 B0 B5 B4 B6;B7 B8—BF E4 C3 C2 F4 B3 B2 D4 14 18—1F 15 16;17 84 D8—DF D5 04 08—0F 05 06;07 A3 20 10 40 73 30
更多简介内容

推荐帖子

评论

登录/注册

意见反馈

求资源

回顶部

datasheet推荐 换一换

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })