- 1、本文档共143页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理第04章
第 4章 第四章 汇编语言及程序设计 4.1 汇编语言程序设计的步骤 、方法、技巧 4.1.3 顺序程序设计 2. 分支程序设计 3. 循环程序设计 多重循环程序 4. 子程序设计 伪指令(也称为汇编程序的控制命令)是程序员发给汇编程序的命令,用来设置符号值、保留和初始化存储空间、控制用户程序代码的位置。 1 定位伪指令ORG 格式:ORG n 其中:n通常为绝对地址,可以是十六进制数、标号或表达式。 功能:规定编译后的机器代码存放的起始位置。在一个汇编语言源程序中允许存在多条定位伪指令,但每一个n值都应和前面生成的机器指令存放地址不重叠。 例如程序: ORG 1000H START: MOV A,#20H MOV B,#30H ┇ 2 结束汇编伪指令END 格式:[标号:] END [表达式] 功能:放在汇编语言源程序的末尾,表明源程序的汇编到此结束,其后的任何内容不予理睬。 6 预留存储空间伪指令DS 格式:[标号:] DS n 功能:从标号指定地址单元开始,预留n个存储单元,汇编时不对这些存储单元赋值。n可以是数据,也可以是表达式。 7 定义位地址符号伪指令BIT 格式:字符名称x BIT 位地址n 功能:将位地址n的值赋予字符名称x。程序中凡出现该字符名称x就代表该位地址。位地址n可以是绝对地址,也可以是符号地址。 THANK YOU VERY MUCH ! 本章到此结束, 谢谢您的观看! 编制程序流程图:是指用各种图形、符号、指向线等来说明程序设计的过程。国际通用的图形和符号说明如下: 椭圆框:开始和结束框,在程序的开始和结束时使用。 矩形框:处理框,表示要进行的各种操作。 菱形框:判断框,表示条件判断,以决定程序的流向。 流向线:流程线,表示程序执行的流向。 圆 圈:连接符,表示不同页之间的流程连接。 各种几何图形符号如下图所示。 汇编语言的语句格式:汇编语言源程序是由汇编语句(即指令)组成的。典型的汇编语句格式如下: [标号:] 操作码 [操作数] [,操作数] [;注释] 数据的表示方法: (1)二进制数:由0、1组成,“逢2进1”的数制。如 (0~1 后缀:B/b) (2)十六进制数:便于读写记忆的二进制数的简写形式。 (0~9,A~F 后缀:H/h) (3)十进制数:可用二进制数表示(也称为BCD码, 0~9表示为:0000~1001B ),也可用十进制数表示(后缀:D/d或无后缀)。 特点:顺序结构程序是最简单、最基本的程序。程序按编写的顺序依次往下执行每一条指令,直到最后一条。它能够解决某些实际问题,或成为复杂程序的子程序。 [例题2] 将片内RAM 30H单元中的两位压缩BCD码转换成二进制数送到片内RAM 40H单元中。 解:两位压缩BCD码转换成二进制数的算法为: (a1a 0)BCD=10×a1+a0 程序流程图如右图所示。 程序如下: ORG 1000H START: MOV A, 30H ; 取两位BCD压缩码a1a0送A ANL A, #0F0H ; 取高4位BCD码a1 SWAP A ; 高4位与低4位换位 MOV B, #0AH ; 将二进制数10送入B MUL AB ; 将10×a1送入A中 MOV R0, A ; 结果送入R0中保存 MOV A, 30H ; 再取两位BCD压缩码a1a0送A ANL A, #0FH ; 取低4位BCD码a0 ADD A, R0 ; 求和10×a1+ a0 MOV 40H, A ; 结果送入40H保存 SJMP $ ; 程序执行完,“原地踏步” END 特点:根据不同的条件,确定程序的走向。它主要靠条件转移指令、比较转移指令和位转移指令来实现。分支程
文档评论(0)