




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.4 汇编语言程序的基本形式,单片机汇编语言源程序是用户把单片机所能接受的指令形式按照任务要求组织在一起的部分指令逻辑集合。 它与PC的汇编语言程序有所不同,PC的汇编语言程序可以调用操作系统的中断功能或Windows的API函数来完成特定的操作,而单片机的汇编语言程序从最底层面向硬件接口做起,所有的程序都需要程序员自己编写、配置。,3.4.1 汇编语言程序的伪指令,伪指令:控制汇编程序的指令,但不是控制单片机操作的指令,没有机器码。 1. 定位伪指令ORG 格式: ORG XXXX 或 标号地址。 作用:说明下面紧接的程序段或数据段存放的起始地址。 例如:ORG 1000H;指示后面的程序或数据块以 1000H为起始地址连续存放。 若省略ORG伪指令,则该程序段从ROM中0000H单元开始存放。 在一个源程序中,可以多次使用ORG伪指令,但地址值由小到大依序排列,不允许空间重叠。,3.4.1 汇编语言程序的伪指令,2. 汇编结束伪指令 END 格式:END。 作用:结束汇编。 汇编程序遇到END伪指令后即结束汇编。 处于END之后的程序,汇编程序软件将不处理。,3.4.1 汇编语言程序的伪指令,3. 字节数据定义伪指令 DB 格式:标号: DB 字节数据表。 作用:从标号指定的地址单元开始,在ROM中存放8位字节数据。 将字节数据根据从左到右的顺序依次存放在指定的存储单元中,一个数据占一个存储单元。 字节数据表可以是字符、十进制、十六进制、二进制等。该伪指令常用于存放数据表格。,3.4.1 汇编语言程序的伪指令,例如: ORG 1000H SEG1: DB 53H,78H , “2” SEG2: DB DAY END 则 (1000H)=53H (1001H)=78H (1002H)=32H ;32H为“2”的ASCII码 (1003H)=44H ;44H为“D”的ASCII码 (1004H)=41H ;41H为“A”的ASCII码 (1005H)=59H ;59H为“Y”的ASCII码 如果操作数为数值,其取值范围应为00HFFH; 若为字符串,其长度应限制在80个字符内。,3.4.1 汇编语言程序的伪指令,4. 字数据定义伪指令 DW 格式为:标号: DW 字数据表。 作用:从标号指定的地址单元开始,在ROM中定义字数据。 将数据根据从左到右的顺序依次存放在指定的存储单元中。 应特别注意:16位的二进制数,高8位存放在低地址单元,低8位存放在高地址单元。,3.4.1 汇编语言程序的伪指令,5. 赋值伪指令 EQU 格式为:符号名 EQU 表达式。 作用:将表达式的值或特定的某个汇编符号定义为一个指定的符号名。 【例】 SG EQU R0 ;SG与R0等值 DE EQU 40H ;DE与40H等值 MOV A, SG ;(A)(R0) MOV R7, #DE ;(R7)40H,3.4.1 汇编语言程序的伪指令,6. 位地址符号定义伪指令 BIT 格式为:符号名 BIT 位地址表达式 作用:将位地址赋给指定的符号名。 其中,位地址表达式可以是绝对地址,也可以是符号地址。 【例】 MN BIT P1.7 G5 BIT 02H 汇编后,位地址P1.7、02H分别赋给变量MN和G5。,3.4.1 汇编语言程序的伪指令,7. 数据地址赋值伪指令 DATA 格式为:符号名 DATA 数或表达式 DATA伪指令与EQU类似。但有些差别: (1) 用DATA定义的标识符可以先使用后定义, 而EQU定义的必须先定义后使用。 (2) 用EQU可以把一个汇编符号赋给字符名, 而DATA只能把数据赋给字符名。 (3) DATA可以把一个可求值表达式赋给字符名。 【例】 MAIN DATA 2000H 汇编后MAIN的值为2000H。,3.4.2 汇编语言程序的编辑与汇编,源程序的编写要以MCS-51单片机汇编语言指令和伪指令为基础,灵活运用指令完成确定的算法或解题思路。具体体工作过程如图3.9所示 图3.9 源程序编辑和汇编过程,3.4.3 汇编语言源程序的格式,源程序基本上由主程序、子程序、中断服务子程序组成。编制汇编语言源程序根据MCS-51单片机ROM的出厂内部定义,一般按这样的主框架编制: ;程序变量定义区 1 SDA BIT P1.3 ;定义SDA位变量 2 IO EQU P0 ;定义I/O等值P0口 3 ByteCon DATA 30H ;定义字节变量ByteCon ;程序主体部分 4 ORG 0000H ;程序段从0000H单元开始存放 5 LJMP MAIN ;跳到主程MAIN 6 ORG 0003H ;从0003H开始存放程序段 7 LJMP INTERUPT1 ;跳到外部中断0处理子程序,3.4.3 汇编语言源程序的格式,8 ORG 0030H ;从0030H开始存放程序段 9 MAIN: ;主程序标号说明 10 MOV SP,#30H ;设置堆栈指针,可以大于30H 11 LCALL INITIATE ;调用初始化子程 12 FCY: ;控制程序循环标号 LCALL SUB ;调用功能子程序 13 LJMP FCY ;跳到FCY构成循环 14 ORG xxxx ;以下功能程序的存放地址 15 INITIATE: ;初始化子程序标号 16 RET ;子程序返回 17 SUB: ;功能子程序标号 18 RET ;子程序返回 19 INTERUPT1: ;外部中断0功能程序 20 RETI ;中断返回 21 TABLE: ;表的标号 22 DB 00H,01H ;表的数据 END ;源程序结束,停止汇编。,3.4.3 汇编语言源程序的格式,第13行:把一些符号或变量定义成通俗的符号。 第4、6、8、14行:表示程序存储的开始地址。 第5行:使CPU在执行程序时,从000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电脑停在课件页面不动
- qms考试题及答案
- 电网基建业务知识培训课件
- 电缆知识基础培训课件
- 电线电缆标准培训课件
- 管线保护专项方案
- 【ABeam】2025中国个人信息保护和网络安全相关法律法规的趋势与应对报告
- 北京一模考试美术试题及答案
- 北京初二模拟考试试卷及答案
- 北电实验班分班考试题及答案
- 【MOOC】认识飞行-上海工程技术大学 中国大学慕课MOOC答案
- 国际商务谈判 习题答案、练习题及答案(白远)
- 父母借用子女名义购房协议书
- 2024至2030年DC/DC转换器项目投资价值分析报告
- 关节活动维持与改善技术
- 湖南省长沙市师大附中博才实验中学2024-2025学年九年级上学期开学考试语文试题
- 电网劳务分包投标方案(技术方案)
- 《赏书法之韵》教学课件1
- 2024年新人教版八年级上册物理全册教案
- 第三课 我国的经济发展(课件)
- 02R111小型立、卧式油罐图集
评论
0/150
提交评论