【大学】单片机课件 汇编语言程序设计PPT知识分享.ppt

【大学】单片机课件 汇编语言程序设计PPT知识分享.ppt

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

4.6 综合程序举例 MOV R0, A ; 积的低位送R0 MOV R1, B ; 积的高位送R1 MOV A, R7 ; 第一个因数的高位送A MOV B, R4 ; 第二个因数的低位送B MUL AB ; 第一个因数的高位乘以第二个因数的低位 ADD A, R1 ; 部分积相加,形成进位Cy MOV R1, A ; 部分积相加送R1 MOV A, B ; 部分积的进位Cy加到高位 ADDC A, #00H MOV R2, A MOV A, R6 ; 第一个因数的低位送A MOV B, R5 ; 第二个因数的高位送B MUL AB ; 第一个因数的低位乘以第二个因数的高位 ADD A, R1 ; 部分积相加,形成进位Cy MOV R1, A ; 回送部分积 MOV A, R2 4.6 综合程序举例 ADDC A, B ; 部分积相加 MOV R2, A ; 回送部分积 MOV A, #00H ; 部分积的进位Cy加到高位 ADDC A, #00H MOV R3, A ; 回送部分积 MOV A, R7 ; 第一个因数的高位送A MOV B, R5 ; 第二个因数的高位送B MUL AB ; 第一个因数的高位乘以第二个因数的高位 ADD A, R2 ; 部分积相加,形成进位Cy MOV R2, A ; 回送部分积 MOV A, R3 ADDC A, B ; 部分积相加 MOV R3, A ; 回送部分积 RET END 程序如下: ORG 1000H START: MOV A, 30H ; 将查表的变量X送入A MOV DPTR, #TABLE ; 将查表的16位基地址TABLE送                 DPTR MOVC A, @A+DPTR ; 将查表结果Y送A MOV 31H, A ; Y值最后放入31H中 TABLE: DB 0, 1, 4, 9, 16 DB 25, 36, 49, 64, 81 END 方法二:采用MOVC A, @A+PC指令实现,查表过程如下页图所示。 程序如下: ORG 1000H START: MOV A, 30H ; 将查表的变量X送入A ADD A, #02H ; 定位修正 MOVC A, @A+PC ; 将查表结果Y送A MOV 31H, A ; Y值最后放入31H中 TABLE: DB 0, 1, 4, 9, 16 DB 25, 36, 49, 64, 81 END 4.6 综合程序举例 2、查表程序优点    程序简单、执行速度快。 3、查表程序有多种结构形式,下面介绍两种常用查表程序。 例4.18 设计一个将16进制数转换成ASCⅡ码的子程序。设16进制数存放在R0中的低4位,要求将转换后的ASCⅡ码送回R0中。 解:已知0~9的ASCⅡ码为30H~39H,A~F的ASCⅡ码为41H~46H。按题意程序的入口和出口都在R0中,表中所有的值都是单字节,表格长度为16个字节(0~F)。 4.6 综合程序举例 参考程序: ORG 2160H?? MOV A,R0?? ANL A,#0FH ;保留低4位? ADD A,#02H ;变址调整,因为“MOVC A,@A+PC”指令与表格首址相隔两个字节,故变址调整值为2? MOVC A,@A+PC ;查表得ASCⅡ值? MOV R0,A ?? RET 4.6 综合程序举例 TAB:DB 30H,31H,32H?? DB 33H,34H,35H?? DB 36

文档评论(0)

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

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

1亿VIP精品文档

相关文档