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

第3章80C51单片机汇编语言概述.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章80C51单片机汇编语言概述

* * 3.4.4 控制转移类指令(17条) 一、无条件转移 短跳转 AJMP addr11 ;2k范围跳转 长跳转 LJMP addr16 ;64k范围跳转 相对转移 SJMP rel ; +127 ~-128范围跳转 散转移 JMP @A+DPTR ;完成多条判跳指令的功能 * * 【例】功能:当(A)=00H时,程序将转到 ROUT0处执行;当(A)=02H时,程序将转到 ROUT1处执行;……。 MOV DPTR,#TABLE JMP @A+DPTR TABLE:AJMP ROUT0 AJMP ROUT1 AJMP ROUT2 AJMP ROUT3 * * 二、 条件转移 累加器判0转移 比较不等转移 JZ rel ;若(A)=0,则PC ←(PC)+2+rel JNZ rel ;若(A)≠0,则PC ←(PC)+2+rel CJNE A,55H,rel ; CJNE A,#55H,rel ; CJNE R7,#55H,rel ; CJNE @R0,#55H,rel; 减1不为0转移 DJNZ R7,rel ; DJNZ 55H,rel ; * * 调用 三、 调用与返回 ACALL addr11 ;2k范围调用 LCALL addr16 ;64k范围调用 返回 RET ;子程序返回 RETI ;中断子程序返回 RETI具有清除内部相应的中断状态触发器(以保证正确的中断逻辑)的功能。 四、空操作 NOP ;PC ←(PC)+ 1,占1个周期、一个字节 * * 3.4.5 位操作类指令(17条) 位操作是以位为单位进行的各种操作。位操作指令中的位地址有4 种表示形式: 直接地址 (如,0D5H); 点操作符 (如,0D0H.5、PSW.5等); 位名称 (如,F0); 伪指令定义(如,MYFLAG BIT F0)。 以上几种形式表示的都是PSW中的位5。 位操作指令中,位累加器要用“C”表示(注:而CY与具体的直接位地址D7H对应)。 试比较:A与ACC的关系? * * 一、位传送 MOV 20H,C ;(20H)←(CY) MOV C ,20H ;CY ←(20H) 二、位状态设置 位清0 位置位 CLR C ;CY←0 CLR 00H ;(00H)←0 SETB C ;CY←1 SETB 00H ;(00H)←1 * * 三、位逻辑运算 位逻辑与 位逻辑或 位取反 ANL C,00H ;CY←(CY)∧(00H) ANL C,/00H ;CY←(CY)∧(00H)取反 ORL C,00H ;CY←(CY)∨(00H) ORL C,/00H ;CY←(CY)∨(00H)取反 CPL C ;CY←(CY)取反 CPL C,00H ;(00H)←(00H)取反 * * 判CY转移 判bit转移 四、位判跳(条件转移) ;若(CY)=1,PC←(PC)+2+rel,否则顺次执行。 ;若(CY) =0,PC←(PC)+2+rel,否则顺次执行。 ;(00H)=1,PC←(PC)+3+rel,否则顺次执行。 ;(00H)=1,PC←(PC)+3+rel,00H←0,否则顺次执行 ;(00H)=0,PC←(PC)+3+rel,否则顺次执行 3.5 汇编语言程序示例 3.5.1 顺序程序 (无分支、无循环) 【例3-2】片内RAM的21H单元存放一个十进制数据十位的ASCII码,22H单元存放该数据个位的ASCII码。编写程序将该数据转换成压缩BCD码存放在20H单元。 ORG 0040H START:MOV A,21H ;取十位ASCII码 ANL A,#0FH ;保留低半字节 SWAP A ;移至高半字节 MOV 20H,A ;存于20H单元 MOV A,22H ;取个位ASCII码 ANL A,#0FH ;保留低半字节 ORL 20H,A ;合并到结果单元 SJMP $ END 3.5.2 分支程序 (单分支、双分支、多分支) 【例3-3】设变量x以补码的形式存放在片内RAM的30H单元,变量y与x的关系是:当x大于0时,y=x;当x=0时,y=20H;当x小于0时,y=x+5。编制程序,根据x的大小求y并送回原单元。

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档