网站大量收购闲置独家精品文档,联系QQ:2885784924

第3章节MCS51系列单片机的指令系统及汇编语言程序设计(504KB).ppt

第3章节MCS51系列单片机的指令系统及汇编语言程序设计(504KB).ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2)条件转移指令 (1)累加器为零(非零)转移 JZ/JNZ rel ;A=0/(A≠0) 则转移,否则顺序 执行程序 (2)减 1 不等于零转移 DJNZ Rn/dir,rel 功能为:Rn(dir)-1→Rn(dir) 相减结果≠0转, 否则顺序执行程序 (3)比较转移指令 CJNE A,dir,rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 操作数1不等于操作数2则转,否则顺序执行。 1 例: Y= -1 X≥Z X Z Z X Y DATA+2 DATA+1 DATA MOV DATA+2,#0FFH MOV A,DATA CJNE A,DATA+1,NEXT NEXT: JC NEXT1 MOV DATA+2,#1 NEXT1:RET dir @Ri Rn #data A 1. 位传送指令 MOV C,bit ;(bit)→CY MOV bit,C ;CY→bit 2. 位状态控制指令 CLR C ;0→CY CLR bit ;0→bit SETB C ;1→CY SETB bit ;1→bit CPL C ;CY→CY CPL bit ;bit→bit 3.2.4 位操作指令 3.位逻辑运算指令 ANL C,bit ;CY∧(bit)→CY ANL C,/bit ;CY∧(bit)→CY ORL C,bit ;CY∨(bit)→CY ORL C,/bit ;CY∨(bit)→CY 4.位转移 位转移根据位的值决定转移,均为相对转移指令。 JC rel ;CY=1,则转移,否则顺序执行程序 JNC rel ;CY=0, 则转移,否则顺序执行程序 JB bit,rel ;(bit)=1,则转移,否则顺序执行程序 JNB bit,rel ;(bit)=0,则转移,否则顺序执行程序 JBC bit,rel ;(bit)=1,则转移,且该位清零,否则 顺序执行程序 1.定义: 汇编控制指令,没有指令代码,不能被CPU执行,只用于汇编过程,为汇编程序提供汇编信息。 2.常用伪指令 (1)ORG ORG是设置起始地址伪指令,其格式是: ORG 16位地址或标号 (2)END END是结束汇编伪指令,其格式是: END (3)DB DB是定义字节伪指令,其格式是: [标号:] DB 字节型数表 (4)DW DW是定义字伪指令,其格式是: [标号:] DW 字型数表 3.3 伪指令 (5)DS DS是定义存储空间伪指令,其格式是: [标号:] DS 表达式 (6)EQU EQU是赋值伪指令,其格式是: 字符名称 EQU 数据或汇编符号 (7)DATA DATA是数据地址赋值伪指令,其格式是: 字符名称 DATA 表达式 (8)BIT BIT是位地址赋值伪指令,其格式是: 字符名称 BIT 位地址 详见表3.3 MCS-51中的伪指令 进制间的转换 1.十进制→二进制(整数) 任何十进制数D有: D=dn-1×10n-1+ dn-2×10n-2 +… + d1×101 + d0×100 =(…(dn-1×10 + dn-2)×10 +… + d1)×10+ d0 规律: di×10+ di-1 (i=1,2,…n-1) 按二进制运算规则运算则得二进制数 3.4 程序设计举例 例:将4位十进制数D3D2D1D0转换成二进制数,设4位 十进制数D3D2D1D0按分离BCD码形式存放,要求结 果的高位存放在R3中,结果的低位存放在R2中。 方法:D3D2D1D0=(((0×10+D3)×10+D2)×10+D1)×10+D0 结果:16位二进制数 0D3 0D2 0D1 0D0 DATA 流程: 设置指针指向DATA 计数器初始(R7=3) Di初始→结果单元 结果单元内容×10+Di-1 →结果单元 修改指针 计数器-1→计数器 ↓ ↓ ↓ ↓ ↓ ↓ 计数器=0? ↓ 返 回 Y N ×

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档