- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计知识 4.1 编制程序的步骤、方法和技巧(P89.) §4.1.1 编程的步骤 一、 分析问题 二、确定算法 三、画程序流程图 四、编写程序 一、分析问题 对需要解决的问题进行分析,以求对问题由正确的理解。如: 解决问题的任务是什么? 工作过程? 现有的条件,已知数据,对运算的精度和速度方面的要求? 设计的硬件结构是否方便编程? 二、确定算法 算法是如何将实际问题转化成程序模块来处理。 在编程以前,先要对几种不同的算法进行分析、比较,找出最适宜的算法 三、画程序流程图 程序流程图是使用各种图形、符号、有向线段等来说明程序设计过程的一种直观的表示。 流程图步骤分得越细致,编写程序是也越方便。 画流程图是程序结构设计是采用的一种重要手段。 一个系统软件有总的流程图(主程序框图)和局部的流程图。 流程图常采用的图形和符号。 开始、结束----圆角矩形 工作任务----矩形 判断分支----菱形 程序流向---- 程序连接---- 四、编写程序 用89C51汇编语言编写的源程序行(一条语句)包括4个部分,也叫4个字段: 〔标号:〕〔操作码〕〔操作数〕;〔注释〕 每个字段之间要用分隔符分隔,而每个字段内部不能使用分隔符。可以用作分隔符的符号:空格“ ”、冒号“:”、、逗号“,”、分号“;”等。 例:LOOP:MOV A,#00H ;立即数00H→A 1.标号 标号是用户定义的符号地址。 一条指令的标号是该条指令的符号名字,标号的值是汇编这条指令时指令的地址。 标号由以英文字母开始的1~8个字母或数字组成,以冒号“:”结尾。 标号可以由赋值伪指令赋值,如果没有赋值,汇编程序把存放该指令目标码第一字节的存储单元的地址赋给该标号,所以,标号又叫指令标号。 操作码,操作数,注释段等,以在前面学习过。 2.编程技巧 1、尽量采用循环结构和子程序,以节省内存。 2、尽量少用无条件转移指令。以使程序条理更加清楚,减少错误。 3、对于通用的子程序,考虑到其通用性,除了用于存放子程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈(返回前再弹出),即保护现场。 4、在中断处理程序中,除了要保护处理程序中用到的寄存器外,还要保护标志寄存器。 §4.2 汇编语言源程序的编辑和汇编(P106.) §4.2.1 源程序编辑 §4.2.2 源程序的汇编 §4.2.3 伪指令 §4.2.1 源程序编辑 单片机的程序设计通常在微型计算机上,借助编辑软件(如行编辑或屏幕编辑软件),编写或修改汇编语言源程序。最终把汇编得到的目标程序(机器码)传送到单片机内并进行程序调试和运行。 §4.2.2 源程序的汇编 汇编:将汇编语言源程序转换为机器码表示的目标程序的过程。对单片机有: 一、手工汇编 二、机器汇编 三、反汇编 一、手工汇编 通过手工方式查指令编码表,逐个把助记符指令“翻译”成机器码,然后把得到的机器码程序键入单片机,进行调试和运行。 手工汇编的缺点: 1、偏移量的计算容易出错 2、程序的修改会引起后面指令地址的变化,转移指令的偏移量也要重新计算。 二、机器汇编 机器汇编是在计算机上使用交叉汇编程序进行源程序的汇编。汇编工作由机器自动完成,最后得到以机器码表示的目标程序。 三、反汇编 将二进制机器语言程序翻译成汇编语言程序的过程称反汇编。 汇编和反汇编的过程如图4-10所示 4.2.3 常用的伪指令(P108 ) 伪指令:不是真正的指令,无对应的机器码,在汇编时不产生目标程序,只是用来对汇编过程进行某种控制。 4.2.3 常用的伪指令(P108 ) ORG(Origin) 汇编起始命令 功能:定位目的程序的起始地址,即汇编后生成目标程序存放的起始地址。 格式:ORG 16位地址 END 汇编语言程序结束伪指令。 功能:通知汇编程序结束汇编。在END之后所有 的汇编指令均不予以处理。 注:“END”指令一定要放在程序末尾! 4.2.3 常用的伪指令(P108 ) EQU (EQUate) 赋值伪指令。 格式: 字符名称 EQU 项(数值或汇编符号) 功能:把“项”赋给“字符名称”。 注意:字符名称不等于标号(其后没有冒号);其中的项,可以是数,也可以是汇编符号。EQU赋值过的符号名可以用作数据、代码地址、位地址或一个立即数。可以是8位的,也可以是16位的。 4.2.3 常用的伪指令(P108 ) DATA 数据地址赋值命令
您可能关注的文档
最近下载
- 施工企业现场质量管理制度及奖惩办法.pdf VIP
- 传感器原理及应用 教案.pdf VIP
- 砂石料供应、运输、售后服务方案14627.pdf VIP
- 传承雷锋精神争做时代新人--主题班会课件.pptx VIP
- 气管切开非机械通气患者气道管理考试题及答案.doc
- 横河flxa21两线制电导率变送器快速启动手册.pdf VIP
- 图集规范-天津图集-12J5-1图集(2012版)平屋面 DBJT29-18-2013.pdf VIP
- 第2课+丰富多彩的中华传统体育+课件 2025-2026学年人教版(2024)初中体育与健康八年级全一册.pptx VIP
- 第12课 闭环控制助稳定 教案 义务教育人教版信息科技六年级全一册.pdf VIP
- 生命教育PPT模板.pptx VIP
文档评论(0)