单片机之汇编语言的设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
舒汇编语言程唇没诜 4.1概述 4.2简单程序 4.3分支程序 4.4循环程序 4.5查表程序 46子程序的设计及调用 4.7程序设计举例 下页 4.1概述 、江编语言和高级语言相比具有下列优点」 ①占用的内存单元和CPU资源少 ②执行速度快 如:输出操作 有效的利用计算机的专有特性。MOVP1,A ④适合实时控制 (可计算程序运行时间 回目录上页下灾 、汇编语言程序设计的步骤: ①建立数学模型 ②确定算法 ③制定流程图 ④确定数据结构 ⑤写出源程序 ⑥上机调试 汇编语言程序的结构 ①定义有关字符名 ②定义程序的起始地址 ③程序主体 ④汇编结束标志 回目录上页下灾 例1:内部RAM从DATA1单元有一数据块,存放若干无符号数, 第一单元为数据块长度,求这些无符号数之和 ORG 2000H 起始地址 START:MOR0,#DATA1;首址送R0 MoⅴR1,DATA1;长度送R1 CNE R1,#0,NEXT;检查长度是否为零 为零则结束 标号 HERE: S MP S NEXT: CER A ;不为零则开始运算 LOOP: INC RO 注释 ADDA, RO ;加一个数 DNZR,LOOP;长度减1不为零则转移 MOV SUM.A ;存和 SJMP HERE 程序主体 DATAI DATA 20H SUM DATA 1FH 汇编结東标志 END 回目录上页下页 四、评价程序质量的标准: ①程序的执行时间 时1概 ②程序所占用的内存字节数目空念 ③程序的逻辑性、可读性 ④程序的兼容性、可扩展性 程序的可靠性 回目录上页下灾 42简单程序 简单程序的特点: 既无分支,又无循环,按照顺序执行 可完成一定的基本功能,是编写复杂程序的基础 例4-2:将一个字节内的两个BCD码拆开并变成ASCI码, 存入两个RAM单元。BCD码放在内RAM的20H, 转换后高半字节放到21H,低字节放22H。 方法1:BCD码0~9对应的ASCⅢ码为30H~39H RAM 转换时,将20H中的BCD码拆开,20H| BCDH BCDL 高四位置为“0011”即可 ASCI码 21H0011cDH 22H 10011 BCDL 回目录上页下灾 程序: ORG 1000H MOVR0.#22H:R0←22H MOv@R0,#;22H←0 0011 BCDH MOVA,20H;两个BCD数送A XCHD A,@R0;BCDL数送22H RAM ORL22H,#30H;完成转换 2OH BCDH BCDL SWAP A ;BCDH数送A的低4位21H[0011BCDJ ORLA,#30H;完成转换@R0—22H0011BcDL MOv21H,A;存数 SJMP S ;原地踏步,相当与停机 END 回目录上页下灾 方法1小结 以上程序用了8条指令,15个内存字节,执行时间为9个 机器周期。 方法2 采用除10H取余法将两个BCD数拆开 A「 BCDH bBCDL DIVAR A0000 BCDH B|0001000 B|0000c A ORL , #30H B 回目录上页下灾 程序: oRG 1000H MOVA,20H取BCD码至A MOV B, #10H DIV AB ;除10H取余,使BCDH-、BCDL→B ORLB,#30H;完成转换 RAM MOV22H,B;存ASCI码 20H BCDH BCD 210011BcD ORLA,#30H;完成转换 22H[0011 ECDL MO21H,A;存ASCI码 S BCDH BCDL DIV AB All 0011 BCDH END B[00100 Bl 0011 BCDL 回目录上页下灾 方法2小结 以上程序用了7条指令, 16个内存字节, 执行时间为13个机器周期。 例43: 双字节求补 设:两个字节原码数存在R1、R0中 求补后结果,存在R3、R2中 方法: U 求补采用“模原码”的方法·)□[R原码 即用“0”去减“原码” R3 R2 回目录上页下页

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档