第3章 汇编语言程序开发工具
第3章 程序开发基础

(4)-Dname[=def]
(5)-h (6)-Idirectory (7)-k (8)-me
(13)-s
(14)-ss (15)-Uname
(16)-z
3.3.5 指定文件名
命令行定义的输入文件可以是C源文件、C++源文件、汇编文件、线性汇编文件 或者目标文件。编译器识别文件的默认扩展名如表3-2所示。
3.4.9 简化表达式
(2)编译器输出 FP .set A15 DP .set B14 SP .set B15 ; opt6x –O2 t1.if t1.opt .sect ”.text” .global _simplify _simplify: B .S2 B3 NOP 2 MPY .M1 5,A4,A0 NOP 1 EXT .S1 A0,24,24,A4 ; BRANCH OCCURS
软件流水循环的最小循环计数由并行执行的迭代数决定,如图3-5所示。最小 循环计数为5,下例中A、B和C分别是软件流水中的指令,因此,该单周期软件流
水循环的最小循环计数为3。
3.4.4 调试和剖析优化代码
(1) 调试优化代码 为了调试优化代码,可同时使用-o选项和一个符号调试选项(-g)。该符号调 试选项生成C/C++源文件级调试器使用的伪指令,但该符号调试选项不会关闭很多 优化功能。当设置-o选项和-g选项时,就会使生成的代码兼容调试,并且尽量进行 代码优化。 (2) 剖析优化代码 为了剖析优化的代码,在优化时使用-gp选项(-o0~-o3),但是不要设调试选
3.3.1 编译器
编译器默认不执行连接,可以通过设置-z编译选项执行连接。图3-2表示了编 译器在使用和不使用连接器时的各自途径。
3.3.2 调用C/C++编译器
汇编语言编程软件使用指南

汇编语言编程和调试工具一、汇编语言编程工具学习汇编语言的目的就是要用汇编语言编程来解决实际问题,下面介绍二种常用的汇编语言编程环境:宏汇编MASM 6.11和Turbo Assember 5.0。
1.1、宏汇编MASM系统在宏汇编MASM系统中,程序员可用二种方法来处理源程序:命令行和集成环境。
1.1.1 命令行命令1、编写源程序可用计算机系统中各种能编辑文本文件的编辑器来编辑汇编源程序。
常用的编辑器有:EDIT、Q、Word、记事本、写字板、WPS等。
源文件的后缀为:.ASM。
2、汇编程序当源程序编写好后,可用MASM命令来汇编该源程序。
如果源程序没有语法错误,那么,将生成目标文件(.OBJ文件),为最终生成可执行文件作准备,但如果源程序有错误,汇编程序将显示出错误位置和原因,也可用列表文件(.LST文件)来查看出错位置和原因。
下面给出一些使用该命令的实例情况。
例1.1:查看MASM命令的功能…>masm /?(*)……/Zi Generate symbolic information for CodeView/Zd Generate line-number information其中:选项/Zi和/Zd是经常被引用的二个选项,因为它们与符号跟踪有关。
例1.2:用MASM命令汇编源程序…>masm test……Invoking: ML.EXE /I. /Zm /c test.asm……Assembling: test.asm如果MASM命令显示了类似如上的处理结果,那么,表示源文件TEST.ASM已成功汇编,并已生成了其目标文件TEST.OBJ。
(*)用户输入的命令用“下划线”来表示,系统显示的内容没有“下划线”。
以下与此相同。
例1.3:用MASM命令汇编源程序…>masm test……Invoking: ML.EXE /I. /Zm /c test.asm……Assembling: test.asmtest.asm(10): error A2070: invalid instruction operands如果MASM命令显示了类似如上的处理结果,那么,表示源文件有错,没有生成其目标文件。
《单片机应用系统设计》教学大纲及知识点

《单片机应用系统设计》课程教学大纲一、本课程的地位、作用和任务本课程是在学生学完电子技术类基础课程和微机应用类基础课程之后,为加强对学生技术应用能力的培养而开设的体现电子技术、计算机技术综合应用的综合性课程。
本课程的任务是使学生获得单片机应用系统设计的基本理论、基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,并了解单片机在测量、控制等电子技术应用领域的应用。
初步具备应用单片机进行设备技术改造、产品开发的能力。
二、理论教学内容绪论单片机概述0.1 引言0.2 单片机的特点0.3 单片机的发展0.4 MCS-51单片机系列简介第一章MCS–51单片机的结构和原理1. 1 单片机的内部结构1. 2 MCS–51的外部引脚及功能1. 3 MCS–51的存储器配置1. 4 并行输入/输出接口电路1. 5 时钟电路与时序1. 6 MCS –51最小系统设计第二章MCS-51的指令系统2.1 MCS-51指令系统概述2.2 数据传送类指令2.3 算术运算类指令2.4逻辑运算及移位类指令2.5 控制转移类指令2.6 布尔变量操作类指令第三章汇编语言程序设计3.1 汇编语言源程序的格式3.2 伪指令3.3 汇编语言程序举例第四章MCS—51的中断与定时4.1 MCS—51单片机的中断系统4.2 MCS–51的定时/计数器第五章存储器扩展技术5.1 概述5.2 程序存储器的扩展5.3 数据存储器的扩展5.4 PROME2及其扩展第六章I/O扩展技术6.1 I/O接口概述6.2 MCS-51并行I/O口的直接使用6.3 简单I/O扩展6.4 8255并行I/O口6.5 8155简介第七章键盘/显示器扩展技术7.1 单片机应用系统中的人机通道7.2 键盘及其接口7. 3 显示器及接口7.4 专用的8279键盘/显示器接口第八章模拟量输入/输出通道8.1 模拟量输入通道8.2 模拟量输出通道第九章MCS-51的串行通信9.1 串行通信基础9.2 串行接口的构成与工作方式9.3 串行口的典型应用9.4 单片机的多机通信9.5 RS-232C串行总线第十章应用程序设计技术10.1 智能仪表的一般结构10.2 单片机应用系统设计举例第十一章高性能单片机PIC16F8XX介绍11.1 PIC16F87X的特点11.2 PIC16F87X的结构与配置11.3 PIC16F87X的功能部件11.4 PIC16F87X的应用举例三、实践教学的内容和要求实验一联机仿真操作练习实验目的:进一步掌握开发工具的应用实验内容:学习PC机与开发机联机仿真的操作方法实验二指令系统和编程练习实验目的:掌握8051单片机常用指令的使用和编程实验内容:用8051单片机的常见指令编写简单的多字节加减法程序。
DSP开发系统使用说明书

条件执行和单步执行使用户可以完全控制程序的执行。用鼠标或键入命令的方式设置或取消断点。存储器的分布与目标系统一致,以便调试器访问和定义。调试器可以执行从批处理文件来的命令,从而容易进入经常使用的命令序列。
该调试器的主要特性包括:
支持多操作
对于C2XX、C4X、C5X、C54X、C6X、C8X,C/汇编调试器并行处理的能力(多处理器debugger、断点、单步)。
说明:
根据上述的例子,共定义了5个段。
.text包含若干条32位字的目标代码;
.data包含6个字的目标代码;
vectors在.sect命令中定义的命名段;
.bss在存储器中预留了44个字节的空间;
newvars在.usect命令中定义的命名段,在存储器中占了8个字节的空间。
2.2软件开发工具简介
DSP的软件开发工具简介如下:
包含ANSI标准运行支持函数、编译器公用程序函数、C输入/输出函数。
十六进制转化公用程序(Hex Conversion Utility)
将COFF目标文件转化为TI-Tagged、ASCII-hex、Motorola-s等目标格式,从而可以将文件装载到可擦除程序存储器中。
绝对列表器(Ab4
ect“newvars”,4
*****************************************************
**在.text段放置其余程序代码**
*****************************************************
TMS320调试接口(C/Assembly source debugger)
TMS320调试接口为嵌入式的系统开发提供了新的功能和灵活性。他是软仿真、评估模块、硬仿真的标准接口。
汇编语言程序开发工具

2015年8月4日4时55分
DSP原理及应用
13
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
1. 编辑
利用各种文本编辑器,如笔记本、WORD、EDIT
和TC等,可编写汇编语言源程序。
2. 汇编 当汇编语言源程序编写好以后,可利用’C54x 的汇编器ASM500,对一个或多个源程序分别进行汇 编,并生成列表文件(.lst)和目标文件(.obj)。
2015年8月4日4时55分 DSP原理及应用 25
第4章 汇编语言程序开发工具
1. 未初始化段 (1) .bss伪指令 用于在bss段中保留若干个空间。 格式: .bss 符号, 字数
第4章 汇编语言程序开发工具
内容提要
可编程DSP芯片开发需要一套完整的软、硬件开 发工具。通常可分成代码生成工具和代码调试工具两 大类。 代码生成工具是指将高级语言或汇编语言编写的 DSP程序转换成可执行的DSP芯片目标代码的工具程 序,主要包括汇编器、链接器和C编译器以及一些辅 助工具程序等。 代码调试工具包括C/汇编语言源码调试器、仿真 器等。 本章主要介绍代码生成工具,包括’C54x软件开 发流程、汇编语言程序的编写、编辑、汇编和链接过 程、COFF段的一般概念、汇编器和链接器处理段的 方法以及程序的重定位等。
2015年8月4日4时55分 DSP原理及应用 24
第4章 汇编语言程序开发工具
4.3.2 汇编器对段的处理 1. 未初始化段
未初始化段就是在’C54x存储器中保留空间, 通常它们被定位在RAM区。在目标文件中,这些段中 没有确切的内容。 由这些段定义的空间仅作为临时存储空间,在 程序运行时,可以利用这些存储空间存放变量。 未初始化段分为默认的和命名的两种,分别由 汇编器伪指令.bss和.usect产生。
第3章_C51语言编程基础

sfr
PSW = 0xd0;
//定义PSW寄存器地址为0xd0
sbit
FO = PSW ^ 5 ; //定义F0位为PSW.5
F0 = 0;
精选2021版课件
12
习题:片内I/O口P1口的P1.0寻址位置成高电平 sfr P1 = 0x90; sbit P1_0 = P1^0; P1_0 = 1;
X = X + 1;
单片机如何执行程序指令?
程序员
X = X + 1; …… ……
高级语言程序
编译器 链接器
10010010 10110010 ……
机器码
精选2021版课件
3
2、Keil C51语言简介
对于51单片机,目前广泛使用的是Keil C51语言,简称C51语言。
Keil C51语言是在标准C的基础上,针对51单片机的硬件特点进行 扩展,并向51单片机上移植的高效、简洁的实用高级语言。
PWORD
以字形式对精选p2d02a1t版a课区件 寻址。
25
【例】片内RAM、片外RAM定义的程序如下:
#include<absacc.h>
#define PORTE XBYTE[0xFFC0] #define NRAM DBYTE[0x40]
/*将PORTE定义为外部I/O, 地址为0xFFC0*/
精选2021版课件
29
【例】使用关键字_at_实现绝对地址的访问。
data unsigned char y1 _at_ 0x50; /*在data 区定义字节变量 y1,地址为50H*/
xdata unsigned int y2 _at_ 0x4000; /*在xdata区定义字变量 y2,地址为4000H*/
第三章 汇编语言开发工具.ppt

.bss x,4 .bss y,1 .def _c_int00 .data table: .word 1,2,3,4 .word 8,6,4,2 .text _c_int00: STM #0,SWWSR STM #STACK+10h,SP
end: SUM:
STM #a,AR1 RPT #7 MVPD table,*AR1+ CALL SUM B end STM #a,AR3 STM #x,AR4 RPTZ A,#3 MAC *AR3+, *AR4+,A STL A,@y RET .end
add3 .macro P1, P2, P3
LD P1,A
ADD P2,A
ADD P3,A
STL A, P3
.endm
宏调用 add3 x,y,z 宏展开 LD x,A ADD y,A ADD z,A STL A,z
3.6 链接
测试工具
3.2 汇编语言程序的编写方法
汇编语言源程序以.asm为其扩展名 汇编语言源程序每一行的格式 [标号][:] 助记符 [操作数] [;注释] 一个汇编语言源程序中包含多种汇编命令 在汇编语言源程序中会涉及到各种数据
例3-1Sຫໍສະໝຸດ ACK.title “example.asm” .mmregs .usect “STACK”,10h .bss a,4
3.3 汇编语言程序的编辑、汇编和 链接过程
编辑 汇编语言源文件.asm 汇编 生成.lst(列表)文件和.obj(目标)文件 链接 根据链接器命令文件(.cmd)
对.obj(目标)文件链接,生成存储器 映像文件(.map)和输出文件(.out) 调试 软件仿真器、硬件仿真器和评价模块 固化用户程序
汇编语言程序的开发工具

真器,完成用户程序的非实时调试; 可扩展的开发系统,Emulator硬件仿真 器,将PC中用户程序下载到目标系统的 存储器中,完成用户程序的实时调试; 硬件开发模块(EVM)
固化用户程序:
说明
TI各类DSP芯片:指令集不同,但编程
方式一致
链接命令文件写法一致 语言规则,伪指令,宏用法一致 汇编器,链接器,编译器用法和参数设
确定硬件方案
器件选型
系 统 分 析
原理图设计
PCB图设计
系 统 综 合
硬件调试
软 件 设 计 框 图
DSP软件设计步骤
‘C54x两种编程语言:
汇编语言( *.asm ) C/C++语言(*.c )
编写C或汇编源程序
经c编译器和汇编器,.c
.asm
.obj
COFF目标文件 经汇编器,.asm
例4.5.1
链接器命令文件举例
vectors.obj example.obj -o example.out o -m example.map -e start
MEMORY { PAGE 0: PROG: origin=8000h length=0100h VECS: org=0ff80h len=0040h PAGE 1: DATA1: origin=0060h length=0020h DATA2: origin=0080h length=0100h }
段伪指令使用举例
段程序计数器:SPC
.data coeff .word 044h, 055h, 066h .bss buffer,8 prt .word 0456h .text start: LD #0DH,A
段伪指令使用举例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 汇编语言程序开发工具
3.2 汇编语言程序的编辑、汇编和链接过程
示意图
. cmd 链接命 令文件
.asm 源文件 .obj 目标文件 .out 输出文件
文本编辑器
汇编器
-l
链接器
-m
-o
调试程序
. lst 列表文件
. map 存储器 映像文件
十六进制 转换程序 HEX500
2013年7月4日
.text
ROM
2013年7月4日
DSP原理及应用
23
第3章 汇编语言程序开发工具
3.3.2 汇编器对段的处理 汇编器对段的处理是通过段伪指令来区别各个段 的,并将段名相同的语句汇编在一起。
汇编器有5条伪指令可识别汇编语言程序的各个 部分: ● .bss ——定义未初始化段 ● .usect ——定义未初始化段 ● .text ——定义已初始化段 ● .data ——定义已初始化段 ● .sect ——定义已初始化段
2013年7月4日 DSP原理及应用 11
第3章 汇编语言程序开发工具
3.2汇编语言程序的编辑、汇编和链接过程
汇编语言源程序可以在任何一种文本编辑器中 进行。如笔记本、WORD、EDIT、TC等。 当汇编语言源程序编写完成后,还必须经过汇 编和链接后才能运行。
2013年7月4日
DSP原理及应用
12
2013年7月4日 DSP原理及应用 1
第3章 汇编语言程序开发工具
3.1 TMS320C54x软件开发过程
3.2 汇编语言程序的编辑、汇编和链接过程
3.3 COFF的一般概念 3.4 DSP的C语言程序设计
2013年7月4日
DSP原理及应用
2
第3章 汇编语言程序开发工具
3.1 TMS320C54x软件开发过程
2013年7月4日 DSP原理及应用 24
第3章 汇编语言程序开发工具
3.3.2 汇编器对段的处理 1. 未初始化段
未初始化段就是在’C54x存储器中保留空间, 通常它们被定位在RAM区。在目标文件中,这些段中 没有确切的内容。 由这些段定义的空间仅作为临时存储空间,在 程序运行时,可以利用这些存储空间存放变量。 未初始化段分为默认的和命名的两种,分别由 汇编器伪指令.bss和.usect产生。
2013年7月4日 DSP原理及应用 25
第3章 汇编语言程序开发工具
1. 未初始化段 (1) .bss伪指令 用于在bss段中保留若干个空间。 格式: .bss 符号, 字数
符号——对应于保留的存储空间第一个字的变量名称。 可以让其他段引用,也可以用.global命令定义为全 局符号。 字数——表示在bss段或标有名字的段中保留若干个存储单元。
’C54x的应用软件开发主要完成以下工作: (1) 选择编程语言编写源程序 ’C54x提供2种编程语言,即汇编语言和C/C++语言。
对于完成一般功能的代码,这两种语言都可使用,但对
于一些运算量很大的关键代码,最好采用汇编语言来完成, 以提高程序的运算效率。 (2) 选择开发工具和环境 ’C54x提供了两种开发环境。即非集成开发环境和集成 开发环境CCS。
给学生安排宿舍,学生是写好的程序,宿舍是存储空间
2013年7月4日 DSP原理及应用 17
第3章 汇编语言程序开发工具
3.3 COFF的一般概念
3.3.1 COFF文件的基本单元 COFF文件有3种类型:COFF0、COFF1、COFF2。
每种类型的COFF文件,其标题格式都有所不同, 但数据部分是相同的。
2013年7月4日 DSP原理及应用 7
第3章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
助记符指令—代数式指令翻译器:用来将包含 助记符指令的汇编语言源文件转换成包含代数式指令 的汇编语言源文件。 建库实用程序:用来建立用户自己使用的、并 用C/C++语言编写的支持运行的库函数。 十六进制转换程序:可以很方便地将COFF目标 文件转换成TI、Intel、Motorola等公司的目标文件 格式。
第3章 汇编语言程序开发工具
内容提要
可编程DSP芯片开发需要一套完整的软、硬件开 发工具。通常可分成代码生成工具和代码调试工具两 大类。 代码生成工具是指将高级语言或汇编语言编写的 DSP程序转换成可执行的DSP芯片目标代码的工具程 序,主要包括汇编器、链接器和C编译器以及一些辅 助工具程序等。 代码调试工具包括C/汇编语言源码调试器、仿真 器等。 本章主要介绍代码生成工具,包括’C54x软件开 发流程、汇编语言程序的编写、编辑、汇编和链接过 程、COFF段的一般概念、汇编器和链接器处理段的 方法以及程序的重定位等。
DSP原理及应用
9
第3章 汇编语言程序开发工具
2. ’C54x的开发工具
(2)代码调试工具: (书111)
C/汇编语言源码调试器:与软件仿真器、评 价模块、软件开发系统、软件仿真器等配合使用。
软件仿真器:是一种模拟DSP芯片各种功能并
在非实时条件下进行软件调试的调试工具,它不需 目标硬件支持,只需在计算机上运行。 初学者工具DSK:是TI公司提供给初学者进行 DSP编程练习的一套廉价的实时软件调试工具。
可执行的 COFF文件 HEX代码 转换工具 EPROM 编程器 绝对地址 列表器 交叉引用 列表器
TMS320C54x
2013年7月4日
DSP原理及应用
5
第3章 汇编语言程序开发工具
ห้องสมุดไป่ตู้
2. ’C54x的开发工具
TI公司提供的DSP开发环境和工具主要包括以下
三个部分:
代码生成工具
代码调试工具 实时操作系统
2013年7月4日 DSP原理及应用 16
第3章 汇编语言程序开发工具
3.3 COFF的一般概念(如何管理存储空间?如何给学生安排宿舍)
汇编器和链接器生成的目标文件,是一个可以 由’C54x器件执行的文件。这些目标文件的格式称 之为公共目标文件格式(COFF)。 在编写汇编语言程序时,COFF采用代码段和数 据段的形式,以便于模块化的编程,使编程和管理变 得更加方便。 这些代码段和数据段简称为段。汇编器和链接 器提供一些伪指令来建立和管理各种各样的段。
.bss段——未初始化段;
.usect段——未初始化段,由汇编命令建立的命
名段(自定义段)。
2013年7月4日
DSP原理及应用
21
第3章 汇编语言程序开发工具
3.3.1 COFF文件的基本单元 3. 段与目标存储器的对应关系 汇编器的任务:在汇编过程中,根据汇编命令用
适当的段将各部分程序代码和数据连在一起,构成目
’C54x汇编器和C编译器产生的是COFF2文件。 链接器能够读/写所有类型的COFF文件,默认时 链接器生成的是COFF2文件,采用-vn链接选项可以选 择不同类型的COFF文件。
2013年7月4日 DSP原理及应用 18
第3章 汇编语言程序开发工具
3.3.1 COFF文件的基本单元 1. 段(sections) (如同男女生,班级) 是COFF文件中最重要的概念。每个目标文件都分 成若干段。 段——是存储器中占据相邻空间的代码或数据块。 一个目标文件中的每个段都是分开的和各不相同的。 COFF目标文件都包含以下3种形式的段:
标文件。
链接器的任务:就是分配存储单元,将目标文件
中的段重新定位到目标系统的存储器中,这一过程称
为定位或分配。
2013年7月4日 DSP原理及应用 22
第3章 汇编语言程序开发工具
3. 段与目标存储器的对应关系
目标文件中的段与目标存储器之间的关系
目标文件
目标存储器
.bss
RAM
E2PROM
.data
2013年7月4日 DSP原理及应用 8
第3章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
绝对制表程序:将链接后的目标文件作为输入, 生成.abs输出文件。 交叉引用制表程序:利用目标文件生成一个交
叉引用清单,列出链接的源文件中的符号以及它们的
定义和引用情况。
2013年7月4日
DSP原理及应用
13
第3章 汇编语言程序开发工具
3.2 汇编语言程序的编辑、汇编和链接过程
1. 编辑
利用各种文本编辑器,如笔记本、WORD、EDIT
和TC等,可编写汇编语言源程序。
2. 汇编 当汇编语言源程序编写好以后,可利用’C54x 的汇编器ASM500,对一个或多个源程序分别进行汇 编,并生成列表文件(.lst)和目标文件(.obj)。
2013年7月4日
DSP原理及应用
6
第3章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
C编译器:用来将C/C++语言源程序自动编译为 ’C54x的汇编语言源程序。 汇编器:用来将汇编语言源文件汇编成机器语 言COFF目标文件。 链接器:将汇编生成的、可重新定位的COFF目 标模块组合成一个可执行的COFF目标模块。 文档管理器:允许用户将一组文件(源文件或 目标文件)集中为一个文档文件库。
2013年7月4日 DSP原理及应用 3
第3章 汇编语言程序开发工具
3.1 TMS320C54x软件开发过程
1. ’C54x应用软件开发流程
’C54x应用软件的开发可在TI公司提供的开发环境中进行, 用户可以用C/C++语言或汇编语言编写源文件,经C编译器、 汇编器生成COFF格式的目标文件,再用链接器进行链接,生 成在’C54x上可执行的目标代码,然后利用调试工具对可执 行的目标代码进行仿真和调试。 当调试完成后,通过Hex代码转换工具,将调试后的可执 行目标代码转换成EPROM编程器能接受的代码,并将该代码固 化到EPROM中或加载到用户的应用系统中,以便DSP目标系统 脱离计算机单独运行。