单片机汇编语言程序设计精讲
第4 章
汇编语言程序设计
4-1 汇编程序约定4-2 汇编程序设计步骤 4-3 顺序程序 4-4 分支程序
4-5 循环程序4-6 算术运算程序2015-2-16 1
4-1
汇编程序约定
汇编语言程序: 用汇编语言编写的、完成特定功能的指令序列。 汇编程序: 能将汇编语言源程序转换成机器语言目标程序的 系统软件。汇编语言程序到机器语言程序的转换过程称为汇编。 1、手工汇编:人工查指令表汇编。用于设计短小程序或调试 程序的场合。 2、机器汇编:用汇编程序进行汇编。
2015-2-16
源程序使用机器汇编要考虑汇编程序的约定:1)按指令格式和语法规则编写程序。 常数的表示: 十进制数:20 十六进制数:87H,0F0H 二进制数:01011001B 字符: ‘H ’ 字符串: “Hello”。 2)使用伪指令提供汇编信息。
2015-2-16
汇编的主要任务:1)确定程序中每条汇编语言指令的指令机器码。 2)确定每条指令在存储器中的存放地址。 3)提供错误信息。 4)提供目标执行文件(*.OBJ/*.HEX)和 列表文件(*.LST)。 汇编语言的语句格式 语句行由四个字段组成 : [标号:]操作码 [操作数] [;注释] 括号内的部分可以根据实际情况取舍。每个字段之间要用分 隔符分隔,可以用作分隔符的符号有空格、冒号、逗号、分号 等。 如:LOOP:MOV A,# 7FH ;A←7FH2015-2-16 4
一、标号 标号是语句地址的标志符号,用于引导对该语句的 非顺序访问。有关标号的规定为: 标号由1~8个ASCII字符组成。第一个字符必须是字 母,其余字符可以是字母、数字或其他特定字符; 不能使用该汇编语言已经定义了的符号作为标号。如 指令助记符、寄存器符号名称等; 标号后边必须跟冒号。 二、操作码 操作码用于规定语句执行的操作。它是汇编语句中 唯一不能空缺的部分。它由指令助记符表示。2015-2-16 5
三、操作数 操作数用于给指令的操作提供数据或地址。在一条 汇编语句中操作数可能是空缺的,也可能包括一项, 还可能包括两项或三项。各操作数间以逗号分隔。操 作数字段的内容可能包括以下几种情况: (1)工作寄存器名; (2)特殊功能寄存器名; (3)标号名; (4)常数; (5)符号“$”,表示程序计数器PC的当前值; (6)表达式。2015-2-16 6
四、注释注释不属于汇编语句的功能部分,它只是对语句的说明。注 释字段可以增加程序的可读性,有助于编程人员的阅读和维护。 注释字段必须以分号“;”开头,长度不限,当一行书写不下 时,可以换行接着书写,但换行时应注意在开头使用分号 “;”。
汇编语言指令类型:1. 机器指令: 指令系统中的全部指令,每条指令有对应的机器代
码。 2. 伪指令: 汇编控制指令,仅提供汇编信息,没有指令代码。
2015-2-16
3. 宏指令:宏汇编功能:将需要多次反复执行的程序段定义成一个宏指令 名(宏定义),编程时,可在程序中使用宏指令 名来替代一段程序(宏调用)。
宏定义过程:宏指令名 MACRO 形式参数 … ENDM 宏调用过程: … 宏指令名 实际参数 … 宏指令名 实际参数2015-2-16
;定义程序段
二、汇编控制指令(伪指令):伪指令是放在汇编语言源程序中用于指示汇 编程序如何对源程序进行汇编的指令,它不同 于指令系统中的指令,指令系统中的指令在汇 编程序汇编时能够产生相应的指令代码,而伪 指令在汇编程序汇编时不会产生代码,只是对 汇编过程进行相应的控制和说明。 伪指令通常在汇编语言源程序中用于定义数 据、分配存储空间、控制程序的输入输出等。 MCS-51汇编语言源程序相对于一般的微型计算 机汇编语言源程序结构简单,伪指令数目少, 常用的伪指令只有几条。2015-2-16 9
常用伪指令及其功能:http://www.77cn.com.cn—起始地址指令:指明程序和数据块起始地址。该指令的功能是向汇编程序说明下面紧接的程序段或 数据段存放的起始地址。表达式通常为16进制地址, 也可以是已定义的标号地址。ORG 8000H START:MOV A,#30H … … 此时规定该段程序的机器码从地址8000H单元开始存放。 在每一个汇编语言源程序的开始,都要设置一条ORG伪指 令来指定该程序在存储器中存放的起始位置。若省略ORG伪指 令,则该程序段从0000H单元开始存放。在一个源程序中,可 以多次使用ORG伪指令规定不同程序段或数据段存放的起始地 址,但要求地址值由小到大依序排列,不允许空间重叠。2015-2-16 10
2.DB伪指令格式:[标号:] DB 项或项表 DB伪指令用于定义字节数据,可以 定义一个字节,也可定义多个字节,字义 多个字节时,两两之间用逗号间隔,定义 的多个字节在存储器中是连续存放的。定 义的字节可以是一般常数,也可以为字符, 还可以是字符串,字符和字符串以引号括 起来,字符数据在存储器中以ASCII码形 式存放。 在定义时前面可以带标号,定义的标号 在程序中是起始单元的地址。 【例3-19】 ORG 3000H TAB1: DB 12H,34H DB '5','A','abc' 汇编后,各个数据在存储单元中的存放 情况如下:2015-2-16
3000H 3001H 3002H 3003H 3004H 3005H 3006H
12H 34H 35H 41H 61H 62H 63H
3.DW伪指令格式:[标号:] DW 项或项表 这条指令与DB相似,但用于 定义字数据。项或项表指所定义的一 个字在存储器中占两个字节。汇编时, 机器自动按低字节在前,高字节在后, 即低字节存放在低地址单元,高字节 存放
在高地址单元。 【例3-20】 ORG 3000H TAB2:DW 1234H,5678H 汇编后,各个数据在存储单元中的 存放情况如下:
3000H 3001H 3002H 3003H
34H 12H 78H 56H
2015-2-16
4.DS伪指令格式:[标号:] DS 数值表达 式 该伪指令用在存储器中保留 一定数量的字节单元。保留存贮 空间主要为以后存放数据。保留 的字节单元数由表达式的值决定。 【例3-21】 ORG 2000H TAB1: DB 12H,34H DS 4H DB '5' 汇编后,存储单元中的分配情况 如下:
3000H 3001H 3002H 3003H 3004H 3005H 3006H
12H 34H 35H
2015-2-16
5.EQU伪指令格式:符号 EQU 项 该伪指令的功能是将指令中的项的值赋予EQU前 面的符号。项可以是常数、地址标号或表达式。以后可 以通过使用该符号使用相应的项。 【例3-22】 TAB1 EQU 1000H TAB2 EQU 2000H 汇编后TAB1、TAB2分别等于1000H、2000H。程序 后面使用1000H、2000H的地方就可以用符号TAB1、 TAB2替换。 用EQU伪指令对某标号赋值后,该符号的值在整个程 序中不能再改变。
2015-2-16
6.bit伪指令格式:符号 bit 位地址 bit该伪指令用于给位地址赋予符号,经赋值后可用该符 号代替bit后面的位地址。 【例3-23】 FLG bit F0 AI bit P1.0 定义后,在程序中位地址F0、P1.0就可以通过FLG和AI 来使用。
7.END伪指令格式:END 该指令放于程序最后位置,用于指明汇编语言源程 序的结束位置,当汇编程序汇编到END伪指令时,汇编结 束。END后面的指令,汇编程序都不予处理。一个源程序 只能有一个END命令,否则就有一部分指令不能被汇编。2015-2-16 15
4-2
汇编语言程序设计步骤
一、确定方案和计算方法; 二、了解应用系统的硬件配置、性能指标; 三、建立系统数学模型,确定控制算法和操作步骤; 四、画程序流程图; 开 始 表示程序结构和程序功能。处 理 Y 处 理
五、编制源程序。 1.合理分配存储器单元和了解 I/O接口地址。 2.按功能设计程序,明确各程序 之间的相互关系。 3.用注释行说明程序,便于阅读、 修改和调试。2015-2-16
条件满足? N 处 处 结 理 …… 此处隐藏:1916字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [说明书]浅谈视觉传达设计中的色彩艺术
- [说明书]数据库原理-实验8-查询优化
- [说明书]临时用电施工组织设计
- [说明书]反假币考试试题第二套(人民币)
- [说明书]《建设工程监理规范》-2014.3.1实施
- [说明书]筋出槽,骨错缝病机诠释
- [说明书]百度预计来路对网站权重有多大影响
- [说明书]房屋面积测绘细则
- [说明书]计算机控制技术填空题汇总
- [说明书]乡镇卫生院(社区中心)死亡医学证明管
- [说明书]2013尾矿工实操试题
- [说明书]2015事业单位面试备考:贵州省事业单位
- [说明书](目录)2017-2022年半导体材料市场发
- [说明书]浙江省制造业发展“十三五”规划
- [说明书]干部选拔任用工作情况的自查报告
- [说明书]《发电厂电气部分》课后部分问答题整理
- [说明书]中国建立政府成本会计制度的思考
- [说明书]中国文化输出的现状及挑战-100分
- [说明书]通信原理实验指导(13-9)
- [说明书]HSF培训试卷(有害物质培训考试试题)
- 高中地理必修一:2.3《大气环境之六_气
- 新人教版八年级数学上期末总复习精品优
- WEB应用托管平台系统架构
- 《应用文写作》期末试卷
- 2017年秋九年级数学上册24.3正多边形和
- _空心村_形态特征与生成机理分析_以河
- 北师大版生物七年级下册12章2节感受器
- 社区卫生服务中心主任职责
- 广东省2014届广州二模材料作文“求道”
- 完整户口本英文翻译模板
- 2015年液化天然气LNG市场调研及发展趋
- 农村学校教育发展新
- 2014年注册税务师税法(Ⅱ)考试试题及答
- 东方大学俄语新版第5册第-7课课文翻译
- 路基路面工程课程设计1
- 219亩项目2011营销策略
- 第1篇 贸易术语-EXW、FCA、FAS
- 年会或大型活动防疫应急预案
- 改善提案(合理化建议)
- 初三英语第四单元ppt




