第四章汇编语言程序设计.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 源程序的汇编 汇编源程序转为目标程序的过程叫汇编 汇编通常在Windows下的集成开发环境完成 用A51.EXE汇编生成.OBJ、.LIB及.LST 目标程序的连接 .OBJ、.LIB经BL51.EXE生成无扩展名的绝对地址目标文件 绝对地址目标文件可以用于仿真器调试 调试无误的目标文件用OH51.EXE转换为.HEX文件 .HEX文件经编程器写入单片机存储器 * * 4.3 汇编语言的设计方法和技巧 程序编制的步骤 明确任务:功能要求、技术指标 运行环境调研 任务分析 将实际问题转化为计算机处理的程序算法 算法比较与优化(内存需求与运行速度) 算法设计 * * 流程描述 流程图符号 “超级循环”框架 * * 强化模块观念 使程序占用空间减少、结构清晰 循环初值和结束条件,避免“死机”现象 子程序的现场保护(注意栈平衡、寄存器内容) 程序模块(主程序模块、各种子程序模块) 模块化优点:分块设计、便于阅读、调试方便 采用循环和子程序 对中断子程序还有注意保护PSW的内容 汇编语言程序设计步骤 (1)分析问题,确定算法 (2)根据算法,画出程序框图 (3)分配内存工作区及有关端口地址 (4)编写程序 养成在程序的适当位置上加上注释的好习惯。 (5)上机调试 编写完毕的程序,必须“汇编”成机器代码,才能调试和运行,调试与硬件有关程序还要借助于仿真开发工具并与硬件连接。 4.4 汇编语言程序的基本结构 任何复杂的程序设计都可以分解为顺序结构、分支结构、循环结构和子程序。 4.4.1顺序程序设计 4.4.2 分支结构 4.4.2 分支结构 【例4-10】x,y均为8位二进制数,x存放于R0,y存放于R1中。 【例4-11】若片内RAM中,50H、51H两单元分别存放两个无符号数,比较这两个数的大小,并将大者存入50H单元,小者存入51H单元。 4.4.3循环程序设计 例子 * * 4.4.4子程序设计 完成通用功能、反复使用的程序设计成子程序。使应用程序结构清晰紧凑,便于阅读和调试 执行要由其它程序来调用,执行完后要返回到调用程序 结构上仍然采用一般程序的3种结构 调用时注意: 一是现场的保护和恢复; 二是主程序与子程序间的参数传递。 例子 4.5 汇编语言程序设计举例 * * 第4章 汇编语言程序设计 汇编语言程序设计概述 4.1 伪指令和汇编 4.2 设计方法与技巧 4.3 汇编语言程序的基本结构 4.4 汇编语言程序设计举例 4.5 4.1汇编语言程序设计概述 程序设计的语言基本上分为3种:机器语言、汇编语言和高级语言。 汇编语言,生成的目标程序占内存空间少、运行速度快,具有效率高、实时性强。 4.2 汇编语言的伪指令与汇编 两种基本类型:指令语句和伪指令语句 (1)指令语句 每一条指令语句在汇编时都产生一个指令代码——机器代码 (2)伪指令语句 是为汇编服务的。在汇编时没有机器代码与之对应。 MCS-51的汇编语言的四分段格式如下: 标号字段 操作码字段 操作数字段 注释字段 规则: (1)标号字段和操作字码段之间要有冒号“:”相隔; (2)操作码字段和操作数字段间的分界符是空格; (3)双操作数之间用逗号相隔; (4)操作数字段和注释字段之间的分界符用分号“;”相隔。 操作码字段为必选项,其余各段为任选项。 标号字段 操作码字段 操作数字段 注释字段 START: MOV A,#00H ;0→A MOV R1,#10 ;10→R1 MOV R2, ;3→R2 LOOP:ADD A,R2 ;(A)+(R2)→A DJNZ R1,LOOP ;R1内容减1不为零,则循环 NOP HERE: SJMP HERE 基本语法规则: 1.标号字段 是语句所在地址的标志符号 (1)标号后边必须跟以冒号“:” (2)由1~8个ASCII字符组成 (3)同一标号在一个程序中只能定义一次 (4)不能使用汇编语言已经定义的符号作为标号 2.操作码字段 是汇编语言指令中唯一不能空缺的部分。汇编程序就是根据这一字段来生成机器代码的。 3.操作数字段 通常有单操作数、双操作数和无操作数三种情况。如果是双操作数,则操作数之间,要以逗号隔开。 (1)十六进制、二进制和

文档评论(0)

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

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

1亿VIP精品文档

相关文档