- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章-汇编
调用 BCD2B子程序实现“千位,百位”转为二进制,并乘100;(子程序中:因R5中高位(千位数)移到低位并乘10,再加低位,故调用子程序实现千/百位转2#时只需要乘100) * 一个机器周期T=12个振荡周期(时钟周期)=6个状态周期,指令周期=1-4个机器周期 * 因BCD码是用4位2#表示一位10#数,亦可用16#表示。当两个十进制数相加时,若用10#表示则逢十进一,若用BCD码表示则逢十六进一,故当有进位时,BCD码与10#之间相差6 * P2, P2, P2, ③编写汇编程序 采用三条伪指令: ORG 30H将程序指令码定位于ROM 30H地址; CYC1 EQU 200和CYC2 EQU 125定义了两个用于延时子程序的计数值。 采用伪指令后,程序的可读性和可修改性都得到明显提高。 ④程序编译调试 伪指令 不产生机器码 实际运行效果: 程序的顺序/分支/循环三种基本结构:补充 例1: 将R2中BCD码数 转为2#并存进R2 ORG 2000H BCD2B:MOV A, R2 ;取入口数据 ANL A, #0F0H ;取出十位 SWAP A ;高4位 低4位 MOV B, #0AH MUL AB ;十位乘10 MOV R3,A ;积暂存进R3 MOV A, R2 ;再取入口数据 ANL A, #0FH ;取出个位 ADD A, R3 MOV R2,A ;结果 R2 RET ;若不是子程序可用END 编程要点: 两字节 BCD码数范围为: 0000H—9999H 相应2进制/16进制数为: 0000H—270FH 调用例1中BCD2B子程序实现“千位,百位”转为二 进制,并乘100; (子程序中:因R5中高位(千位数)移到低位并乘10,再加低位, 故调用子程序实现千/百位转2#时只需要乘100) 再调 BCD2B子程序实现“十位,个位”转为二进制; 最后,对位相加。 例2: 将R5R4中的双字节BCD码数转为二进制数存于R5R4中 将R5R4中的两字节BCD码数转为二进制数存于R5R4中 X 100 千 百 十 个 二进制 + Cy + (R5) (R4) (R5) (R4) (R6) (A) (R5) (A) 二进制 二进制 二进制 二进制 二进制 调 BCD2B 调 BCD2B 程序的顺序/分支/循环三种基本结构 ORG 2000H VAR EQU 30H ;定义缓存单元 FUNC EQU 31H BR1: MOV A,VAR ;取出变量“X” JZ COMP ;若A=0,就赋 0 JNB ACC.7,POS1 ;判断是否正数? MOV A,#0FFH ;(-1 = +1取反加1) SJMP COMP ;输出 -1 POS1:MOV A,#01H ;输出 +1 COMP:MOV FUNC,A ;赋给函数“Y” HERE:AJMP HERE END 例3:编程实现以下功能 1 (X0) 0 (X=0) –1 (X0) Y= 程序的顺序/分支/循环三种基本结构 FUNC VAR ACC.7=0正数 =1负数 任务一:控制一盏灯点亮 任务二:红灯周期性亮/灭 任务三:红外防盗报警 0RG 0000H AJMP MAIN ORG 0003H RL A ACALL DELAY RETI MAIN:MOV A,#80H SETB EX0 SETB EA WAIT:JB ACC.0,JOB1;ACC.0=1转 JB ACC.1,JOB2 JB ACC.2,JOB3 AJMP WAIT JOB1: CLR P1.0 ;亮红灯 HERE: AJMP HERE JOB2: CPL P1.0 ;亮/灭 ACALL DELAY ;延时1秒 AJMP JOB2 ;重复 JOB3: CLR P1.1 ;亮绿灯 REDO: SETB P1.3 CHECK:JNB P1.3,CHECK LOOP: ………… ;报警! AJMP REDO ;再检测 程序的顺序/分支/循环三种基本结构 例4
您可能关注的文档
最近下载
- 部队个人防护器材优质教案.doc VIP
- 2025年基于石油企业的价格管理新模式.pdf VIP
- 新教科版(2025版)六年级上册科学全册教案+单元测试卷 .pdf VIP
- 2024-2025新人教版初中数学七年级上册(全册)优秀ppt课件.pptx VIP
- 2025年陕西省综合评标评审专家库考试在线题库及答案.docx VIP
- 《T/CSPSTC 78-2021顶管法管道工程技术规程》.pdf
- 2025年甘肃省公路交通建设集团康略高速公路收费运营人员招聘71人笔试备考试题及答案解析.docx VIP
- 第一单元(核心素养目标教案)-统编版语文五年级上册.docx VIP
- 中考作文指导:中考作文审题课件.pptx
- 2023新能源风电生产指标体系.docx VIP
文档评论(0)