




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 M68HC08程序设计基础 主要内容:ASM08编译器ASM08汇编过程涉及的文件设计举例主要内容:ASM08编译器ASM08汇编过程涉及的文件设计举例第四章 M68HC08程序设计基础 ASM08编译器编译器概述:机器语言:用二进制编码和储存的机器指令(机器码)。汇编语言:用助记符表示机器指令。由于机器只能识别机器码,汇编语言源程序只有转变成机器语言后才能执行。把汇编语言写成的源程序“翻译”成机器语言的工具叫汇编程序或编译器(Assembler),以下统一称作编译器。ASM08汇编语言格式08汇编源程序格式 汇编语言源程序以“行”为单位进行设计,每一行最多可以包含以下四个部分:标号操
2、作码操作数注释例:标号:操作码 操作数 注释LOOP : LDA $50,X ;IX1变址寻址,($50+(X)送累加器AASM08汇编语言格式(1)标号(Labels)对于标号有下列要求及说明:如果一个语句有标号,则标号必须从第一列开始书写。可以组成标号的字符有:字母AZ、数字09、下划线“_”、美元符号“$”,但开头的第一个符号不能为数字和$。08编译器不区分标号中字母的大小写。标号应小于16个字符。标号后可以带冒号“:”,也可以不带冒号。一个标号在一个程序中只能定义一次,否则不能通过编译。若一行中第一个字符是星号“*”,表明该行为注释。一行语句若只有标号,编译器将把当前程序计数器的值赋给
3、该标号。若希望更多的编译器能够识别,建议标号长度小于8个字符。 “#”表示立即数。 ASM08汇编语言格式(2)操作码(Opcodes) 操作码包括指令码以及后面即将介绍的08编译器可以识别的伪指令码。对于有标号的行,必须用至少一个空格或制表符(TAB)将标号与操作码隔开。对于没有标号的行,不能从第一列开始写指令码,应以空格或制表符(TAB)开头。08编译器不区分操作码中字母的大小写。 (3)操作数(Operands) 操作数可以是地址、标号或指令码定义的常数,也可以是由运算符构成的表达式。08编译器识别下列运算符:加(+)、减(-)、乘(*)、除(/)、特殊除(,允许被除数为0,此时认为结果
4、也为0)、左移()、取余数(%)、与(&)、或(|)、异或()。如果超过一种运算或中间有插入空格应使用把它们包含在内。(4)注释(Comments) 注释即是说明文字,若是处于指令之后,则用空格和分号“;”与指令分开。若整行为注释文字,则在第一列写上“;”或“*”,“*”必须处于第一列, “;”可以不处于第一列。 伪操作指令编译器除了识别单片机的指令系统外,为了能够正确地产生目标代码以及方便汇编语言的编写,编译器还提供了一些在汇编时使用的命令、操作符号,在编写汇编程序时,也必须正确使用它们。由于编译器提供的指令仅是为了更好地做好“翻译”工作,并不产生具体的机器指令,因此这些指令被称为伪指令(P
5、seudo Instruction)。伪操作指令(1)存储区定义伪指令:DS n 或 RMB n 定义了一个存储区,预留n个字节。这里的n可以为数字,也可以是已经定义过的符号。一般用于在RAM区用标号定义数据变量或缓冲区。相当于高级语言的变量声明。(2)字节常数定义伪指令:DB m 或 FCB m 定义程序区中的字节常数。该伪指令可以有一个或多个用逗号“,”隔开的操作数。每个操作数的值应在一个字节内,编译器将它们分别存放在目标程序的一个地址中。m可以为数字、标号、字符串。(3)双字节常数定义伪指令:DW n 或FDB n定义程序区中的双字节常数。高字节在前,低字节在后。n可以是数字或标号。(4
6、)赋值伪指令: 标号:EQU n 该伪指令把EQU后的操作数值赋给EQU之前的标号。相当于高级语言中给一个常数名赋值,以便后面编程使用。例如: X1_1: EQU $50 ; 把$50赋值给标号X1_1(5)指令存储定位伪指令:ORG n 定义程序或数据区的起始地址。该伪指令中的表达式n为数字或标号,它告诉编译器,在指令汇编后,其后的指令在存储器中将从地址n开始向地址增大方向存放。 对于M68HC08系列单片机来说,一个完整的可以在编译后放入单片机执行的源程序,至少必须有一个ORG语句使程序能够放入Flash区。伪操作指令(6)INCLUDE 指示指令 INCLUDE是一个附加文件的链接指示指
7、令。利用它,可以把另一个源文件插入当前的源文件一起汇编,成为一个完整的源程序。 格式:$INCLUDE“驱动器名:路径名 文件名”(7)END 结束指令 END是汇编语言源程序结束的标志。在END以后所写的指令,汇编程序不再处理。一个源程序只有一个END指令,放在所有指令的最后。伪操作指令第四章 M68HC08程序设计基础 主要内容:ASM08编译器ASM08汇编过程涉及的文件设计举例(1)源程序文件(.ASM) 源程序文件即程序文件,后缀名为ASM,是满足上述有关规定的ASCII 文件。可以使用一般的文本编辑软件编辑,以ASCII形式存盘。(2)目标代码文件(.S19) 源程序文件经08编译
8、器编译后可以获得目标代码文件(.S19),它是Motorola MCU的机器码文件,将其下载到MCU内部Flash存储器之后,MCU执行这些机器码。 目标代码文件(.S19)是以S记录格式表示的机器码文件。S记录格式是Motorola公司的十六进制目标代码文件,目标文件由若干行S记录构成。08汇编语言编译过程所涉及的文件S记录格式S11380009B45023F94CD802E1204120013006EFA99S113801040CD80253B40FA12006EFA40CD80253BCES113802040FACC800C87A6C89D9D4BFC868187A610S1138030
9、01B71EA63DB71F3F366E01366E01386E7ES11380402C396E803A6E013B1A361E3718368681FBS105FFFE80007DS9030000FC第一行S11380009B45023F94CD802E1204120013006EFA99的前两个符号S1表示这一行是S1记录,其后的“13”是十六进制数$13,等于十进制数的19,表示在这一行中其后有19个字节的数据,包括2个字节的地址8000、16个字节的编码/数据:9B 45 02 3F 94 CD 80 2E 12 04 12 00 13 00 6E FA,最后一个字节99为校验和。(3)
10、列表文件(.LST) 编译过程还将产生列表文件(.LST)。列表文件包含地址、目标代码、行号、源程序等信息,该文件对用户很有帮助,它可以使用户清晰地看到程序代码的编译情况。列表文件的文件名与源程序的文件名相同,只是扩展名不同 。 121 *主程序 8000 122 ORG FlashStartAddr ;程序起始地址 123 MainInit: ;复位后程序从此开始执行 124 ;系统初始化 8000 9B 125 SEI ;禁止所有中断 8001 45023F 126 LDHX #$023F ;堆栈初始化为RAM最高端 8004 94 127 TXS 8005 CD802E 128 JSR
11、GP32Init ;系统初始化,初学时跳过此处地址目标代码行号源程序08汇编语言编译过程所涉及的文件(4)映像文件(.MAP) 映像文件(.MAP)包含了源文件所使用符号的有关信息,供调试程序使用。08汇编语言编译过程所涉及的文件主要内容:ASM08编译器ASM08汇编过程涉及的文件设计举例第四章 M68HC08程序设计基础 2字节无符号数乘法子程序作业简要叙述ASM08源程序的格式、各部分的基本内容。伪指令EQU、ORG、DS的用途是什么,举例说明。说明书上54页.S19文件各部分的含义(任选一例)。SD-1嵌入式MCU在线编程集成开发系统简介硬件系统说明:(1)总体结构布局 实验板硬件部分
12、主要由MC68HC908GP32芯片及外围电路、LCD、键盘、模块化电源、串行口驱动电路、IC插线及其它元件扩展槽、输出开关量接线排、输入开关量接线排等部分组成,其主要作用是通过MC68HC908GP32芯片的监控程序和PC机进行通信,完成芯片程序的写入、运行、断点调试。系统的硬件布局框图电源指示灯LCD插孔键盘电位器2电位器1电源开关IC插线及其它元件扩展槽AIC插线及其它元件扩展槽B8位拨线开关PTAMC68HC908GP32芯片写入器引线键盘接线区MAX232发送指示灯键盘插孔串行口FUSE8个输出指示灯PTBPTCPTD蜂鸣器LCD自行接线区RSTSD-1(GP32)实验板布局硬件系统
13、说明:(2)连接方法 将实验开发板的串行口通过串行通信线与PC机的串行口1或2连接。 接通实验开发板电源,电源指示灯亮。 连接实验所需线路。 按实验板上的复位按钮。 执行PC机的配套软件,硬件系统等待SD-1软件系统的握手信号。 (3)开关量输入 实验开发板用拨线开关提供8位数字量的输入。拨线开关状态为OFF时是高电平,拨线开关状态为ON时是低电平。(4)开关量输出 实验开发板用LED提供8位开关量的输出。导线接插点为高电平时LED是暗的,低电平时LED是亮的。 实验开发板含有蜂鸣器输出,(5)模拟量输入 MCU电位器电路实验开发板利用电位器提供两路模拟量输入,供进行A/D转换实验使用。(6)元件扩展口 实验开发板提供元件扩展口,使用者可以进行IC扩展。液晶显示接口、键盘接口、串行口分别见后面的相应章节。软件功能主要结构在线编程开发系统文件处理源文件编辑源文件编译帮 助断 点 调 试目标代码写打 印S19文件分解建立通信线路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟酒购销合同烟酒购销合同
- 2025年社会工作师初级考试模拟试卷:综合能力难点解析试卷
- 2025年滑雪教练职业技能测试卷:滑雪运动训练计划设计与实施试题
- 2025年GMAT逻辑推理能力挑战模拟试卷及答案
- 无人驾驶汽车研发生产合同
- 跨境电子商务平台物流配送服务合同
- 汽车维修服务满意度与免责协议
- 艺术品交易服务平台协议
- 企业采购和供应销售框架协议
- 互联网战略合作协议协议
- 云南省地质灾害群测群防手册
- 毕业论文某燃煤锅炉房烟气除尘脱硫系统设计
- 兰炭外热式回转炉低温干馏工艺及技术装备简介
- 储罐计算说明书
- 拟投入本工程的主要施工设备表
- 第一种工作票样板(最新)
- 装饰工程施工进度表18975
- 二甲基亚砜项目可行性研究报告写作范文
- 部编版二年级道德与法治下册《道德与法治》集体备课全部教案
- 地下储气库天然气损耗及控制
- LED显示屏售后服务、质量保证承诺教程文件
评论
0/150
提交评论