- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?主程序调用子程序有两条: 绝对调用指令 ACALL addr11 长调用指令 LCALL addr16 ?注意设置堆栈指针和现场保护。 ?最后一条指令必须是RET指令。 ?子程序可以嵌套,即子程序可以调用子程序。 ?在子程序调用时,要注意参数传递的问题。 ② 子程序的基本结构 ? 4.4 Cygnal单片机汇编语言程序设计举例 (1)算术运算程序 【例4-5】 假定R2、R3和R4、R5分别存放两个16位的带符号二进制数,其中R2和R4的最高位为两数的符号位。请编写带符号双字节二进制 数的加减法运算程序,以BSUB为减法程序入口,以BADD为加法程序入口,以R6、R7保存运算结果。 参考程序: ? ? (2)数制转换程序 【例4-6】 在内部RAM的hex单元中存有两位十六进制数,试将其转换为ASCII码,并存放于asc和asc+1两个单元中。 主程序(MAIN): ? ? 子程序(HASC): ? 其中,RET为子程序的返回指令 在十字路口交通灯控制中用RET来实现子程序的返回。 (3)定时程序 有多个定时需要,可以先设计一个基本的延时程 序,使其延迟时间为各定时时间的最大公约数,然后就以此基本程序作为子程序,通过调用的方法实现所需要的不同定时。例如要求的定时时间分别为5μs 、10μs和20μs并设计一个1s延时子程序DELAY,则不同定时的调用情况表示如下: ? 其中: 长调用指令 LCALL addr16 在十字路口交通灯控制中用Lcalldelay1来调用延时。 (4)查表程序 假定有4×4键盘,键扫描后把被按键的键码放在累加器A中,键码与处理子程序入口地址的对应关系为: 并假定处理子程序在ROM 64KB的范围内分布。要求以查表方法,按键码转向对应的处理子 程序。参考程序如下: ? (5)数据极值查找程序 【例4-7】 内部RAM 20H单元开始存放8个无符号8位二进制数,找出其中的最大数。 极值查找操作的主要内容是进行数值大小的比较。假定在比较过程中,以A存放大数,与之逐个比较的另一个数放在2AH单元中。比较结束后,把查找到的最大数送2BH单元中。 4.1 汇编语言程序设计概述 (1)汇编语言的特点 ① 助记符指令和机器指令一一对应,所以用汇编 语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 ② 使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 ③ 汇编语言能直接访问存储器及接口电路,也能 处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 ④ 汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 (2)汇编语言的语句格式 [标号]:操作码[操作数];[注释] (3)汇编语言程序设计的步骤 ① 建立数学模型。 ② 确定算法。 ③ 制定程序流程图。 ④ 确定数据结构。 ⑤ 写出源程序。 ⑥ 上机调试程序。 4.2 伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 Cygnal常见汇编语言程序中常用的伪指令如下。 (1)ORG (ORiGin) 汇编起始地址命令 ????? 在汇编语言源程序的开始,通常都用一条ORG伪指令来实现规定程序的起始地址。 在十字路口交通灯控制中,用ORG 0000H来开始程序。 (2)END (END of assembly) 汇编终止命令 ????? 汇编语言源程序的结束标志,用于终止源程序的汇编工作。在整个源程序中只能有一条END命令,且位于程序的最后。 在十字路口交通灯控制中,用END来结束的程序。 (3)EQU (EQUate) 赋值命令 ????? (4)DB (Define Byte) 定义字节命令 ????? (5)DW (Define Word) 定义数据字命令 ????? (6)DS (Define Stonage ) 定义存储区命令 ????? (7)BIT位定义命令 ????? (8)DATA数据地址赋值命令 ????? 4.3 单片机汇编语言程序的基本结构形式 (1)顺序程序 【例4-1】 三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中,加数在内部RAM的53H、5414和55H单元中,要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 ? 其中: ① ? ② ? 在十字路口交通灯控制中,用到MOVR0,#0FFH, MOVA,#0
您可能关注的文档
- 大学物理总复习1剖析.ppt
- 大学物理总复习剖析.ppt
- 大学物理总复习习题4剖析.ppt
- 磁共振成像剖析.ppt
- 大学物理总复习知识点与典型习题剖析.ppt
- 大学物理总结1剖析.ppt
- 大学信息技术第5版剖析.ppt
- 大学英语六级考试作文预测剖析.docx
- 大学英语综合第三册unit1剖析.ppt
- 磁共振化学位移成像和频率选择脂肪抑制成像...剖析.ppt
- 第九章 销售与收款循环审计 .pdf
- 1.9《体积单位间的进率》说课(课件)-2024-2025学年六年级上册数学苏教版.pptx
- 长方体和正方体的体积计算(课件)-2023-2024学年人教版五年级数学下册.pptx
- 第二次月考素养提升卷(5~6单元)(试题)-2024-2025学年五年级数学上册人教版.docx
- 4.表内乘法(一)(乘加、乘减)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 表内乘法(7的乘法口诀)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 吨的认识(课件)-2024-2025学年三年级上册数学人教版.pptx
- 期中检测卷(试题)-2024-2025学年五年级上册语文统编版.docx
- 第七单元《扇形统计图》思维拓展练习(课件)-2024-2025学年六年级上册数学人教版.pptx
- 本文中来自ASME BPE标准委员会的现任委员将一一为您答疑解惑 .pdf
文档评论(0)