2407DSP第4章汇编语言及伪指令课件.ppt

上传人(卖家):晟晟文业 文档编号:4982849 上传时间:2023-01-30 格式:PPT 页数:32 大小:290.01KB
下载 相关 举报
2407DSP第4章汇编语言及伪指令课件.ppt_第1页
第1页 / 共32页
2407DSP第4章汇编语言及伪指令课件.ppt_第2页
第2页 / 共32页
2407DSP第4章汇编语言及伪指令课件.ppt_第3页
第3页 / 共32页
2407DSP第4章汇编语言及伪指令课件.ppt_第4页
第4页 / 共32页
2407DSP第4章汇编语言及伪指令课件.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、第第4 4章章 汇编语言和伪指令汇编语言和伪指令DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院1第第4 4章章 汇编语言和伪指令汇编语言和伪指令DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令2 采用汇编语言,用户可以直接操作到处理器内部的采用汇编语言,用户可以直接操作到处理器内部的工作寄存器和片内工作寄存器和片内RAM单元,能把数据的处理过程表述单元,能把数据的处理过程表述得非常具体和详实。得非常具体和详实。汇编语言并不独立于具体机器,是一种非常通用的汇编语言并不独立于具体机

2、器,是一种非常通用的低级程序设计语言。低级程序设计语言。4.1 汇编语言程序设计汇编语言程序设计DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令34.1.1 汇编语言源程序格式汇编语言源程序格式 典型的汇编语言格式是四段式格式:典型的汇编语言格式是四段式格式:标号段:标号段:操作码段操作码段 操作数段操作数段;注释段注释段 LABLE:OPCODE OPRAND ;COMMENT 其中操作码段是必选项,任何语句都必须有操作码其中操作码段是必选项,任何语句都必须有操作码段。如果是多个操作数,中间用逗号隔开。段。如果

3、是多个操作数,中间用逗号隔开。P1:ADD#1 ;ACC加加1,结果保存在,结果保存在ACC中中 BCND P1,LEQ ;如果如果ACC0则转到则转到P1DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令44.1.2 常用伪指令介绍常用伪指令介绍指令语句指令语句 每一条指令语句在源程序汇编时都要产生可供计算每一条指令语句在源程序汇编时都要产生可供计算机执行的指令代码(即目标代码),所以这种语句又叫机执行的指令代码(即目标代码),所以这种语句又叫可执行语句。每一条指令语句表示计算机具有的一个基可执行语句。每一条指令

4、语句表示计算机具有的一个基本能力,如数据传送,两数相加或相减,移位等,而这本能力,如数据传送,两数相加或相减,移位等,而这种能力是在目标程序(指令代码的有序集合)运行时完种能力是在目标程序(指令代码的有序集合)运行时完成的,是依赖于汁算机内的中央处理器(成的,是依赖于汁算机内的中央处理器(CPU)、存储)、存储器、器、IO接口等硬件设备来实现的。接口等硬件设备来实现的。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令5伪指令语句伪指令语句 伪指令语句是用于指示汇编程序如何汇编源程序,所伪指令语句是用于指示汇编程序

5、如何汇编源程序,所以这种语句又叫命令语句。例如源程序中的伪指令语句告以这种语句又叫命令语句。例如源程序中的伪指令语句告诉汇编程序:该源程序如何分段,有哪些逻辑段在程序段诉汇编程序:该源程序如何分段,有哪些逻辑段在程序段中哪些是当前段,它们分别由哪个段寄存器指向;定义了中哪些是当前段,它们分别由哪个段寄存器指向;定义了哪些数据,存储单元是如何分配的等等。伪指令语句除定哪些数据,存储单元是如何分配的等等。伪指令语句除定义的具体数据要生成目标代码外,其他均没有对应的目标义的具体数据要生成目标代码外,其他均没有对应的目标代码。伪指令语句的这些命令功能是由汇编程序在汇编源代码。伪指令语句的这些命令功能是

6、由汇编程序在汇编源程序时,通过执行一段程序来完成的,而不是在运行目标程序时,通过执行一段程序来完成的,而不是在运行目标程序时实现的。程序时实现的。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令6汇编伪指令说明举例.end技术汇编命令一般用于一个汇编文件的结尾.include包含一个已经写好的汇编文件.include“240 x.h”.title打印一个文件标题.title “vectors.asm”.copy包括一个已经写好的汇编文件.copy “word.asm”.def当前模块中定义,别的模块中可引用的符号

7、.def x,y,z.ref别的模块中定义,当前模块中可以引用的符号.ref x,y,z.global全局外部符号.global x,y,z.int用来设置一个或者多个无符号16位常数.int value,valuen.bss为未初始化变量保留存储空间.bss temp,1.data紧随其后的是已经初始化的数据Table:.data.word -1.byte 0ffh.sect定义一个自定义段Sect “section name”.usect为未初始化变量保留存储空间的自定义段ARRAY .usect “var1”,100.set赋给符号一个常数DATA1 .set 100h.text告诉汇编

8、器开始一个文本段紧随.text指令后的代码是可执行代码 DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令7条件汇编伪指令条件汇编伪指令 以下分两种情况介绍条件汇编伪指令。以下分两种情况介绍条件汇编伪指令。(1)第一种情况:第一种情况:.if well-defined expression .elseif well-defined expression .else .endif (2)第二种情况:第二种情况:.loopwell-defined expression .break well-defined expre

9、ssion .endloopDSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令84.2 C语言程序设计语言程序设计 用汇编语言编写程序是一件繁杂的事情,开发周期用汇编语言编写程序是一件繁杂的事情,开发周期相对较长。因此各个相对较长。因此各个DSP公司都推出了相应的高级语言公司都推出了相应的高级语言(如(如C语言),使得语言),使得DSP芯片的软件可以直接使用高级语芯片的软件可以直接使用高级语言写成。,从而大大提高言写成。,从而大大提高DSP芯片的开发速度,也使程芯片的开发速度,也使程序的修改和移植变得十分方便。序的

10、修改和移植变得十分方便。C C语言程序文件的后缀名为语言程序文件的后缀名为.c.c。在该程序中实现。在该程序中实现DSPDSP要完成的功能,由开发人员编写。要完成的功能,由开发人员编写。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令9C编译器概述编译器概述 TMS320C2xx C编译器是一个功能齐全的优化编译编译器是一个功能齐全的优化编译器。它的主要功能是把标准的器。它的主要功能是把标准的ANSI C语言程序转换成语言程序转换成TMS320 DSP芯片能够识别执行的汇编语言代码。芯片能够识别执行的汇编语言代码

11、。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令104.3 调试时需要的五种文件调试时需要的五种文件 调试时需要以下五种文件:调试时需要以下五种文件:(1)C语言程序(语言程序(.c)或者汇编语言文件()或者汇编语言文件(.asm)(2)头文件()头文件(.h)(3)库文件()库文件(rts2xx.lib)(4)命令文件()命令文件(.cmd)(5)复位和中断向量文件)复位和中断向量文件vectors.asmDSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语

12、言和伪指令汇编语言和伪指令114.3.1 C语言文件文件或汇编语言文件语言文件文件或汇编语言文件该文件的扩展名为:该文件的扩展名为:*.c 或或*.asm;该文件内容为该文件内容为DSP所要完成功能的源程序代码。所要完成功能的源程序代码。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令124.3.2 头文件头文件头文件的扩展名为:头文件的扩展名为:*.h;汇编语言头文件:包含了各种寄存器的名称和地址,此汇编语言头文件:包含了各种寄存器的名称和地址,此外,用户还可以定义各种常量和宏;外,用户还可以定义各种常量和宏;

13、C语言头文件:包含了语言头文件:包含了C语言定义下的各种语言定义下语言定义下的各种语言定义下的各种寄存器和地址,还包含支持的各种寄存器和地址,还包含支持C语言的的各种库函数;语言的的各种库函数;头文件必须放在头文件必须放在C源程序的开始,并使用源程序的开始,并使用“include”语句声明和添加。或者在汇编主程序的开始使用汇编伪语句声明和添加。或者在汇编主程序的开始使用汇编伪指令指令.include、.copy对头文件进行调用。对头文件进行调用。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令13头文件部分寄存器

14、和宏定义举例:头文件部分寄存器和宏定义举例:;-IMR .set 0004h ;中断屏蔽寄存器中断屏蔽寄存器IFR .set 0006h ;中断标志寄存器中断标志寄存器;-DELAY_S.macro delay_value ;延时延时=0.05s 延延 时计数时计数RPT#delay_valueNOP.endm调用宏:调用宏:DELAY_S 0AC5HDSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令14头文件头文件F2407.h,在该文件中寄存器都以指针方式进行寻址。,在该文件中寄存器都以指针方式进行寻址。DSP

15、原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令154.3.3 命令文件命令文件 扩展名为扩展名为*.cmd,实现对程序存储空间和数据存储器,实现对程序存储空间和数据存储器空间的分配;它由三部分组成:一是输入输出文件和选空间的分配;它由三部分组成:一是输入输出文件和选项等(该部分可以省略),二是目标存储器定义,使用项等(该部分可以省略),二是目标存储器定义,使用伪指令伪指令MEMORY定义,三是各段的定位,由定义,三是各段的定位,由SECTIONS命令定义命令定义。MEMORY伪指令用来标示实际存在目标系统中并且伪指令

16、用来标示实际存在目标系统中并且可被使用的存储器范围。每个存储器范围有名字、起始可被使用的存储器范围。每个存储器范围有名字、起始地址和长度。地址和长度。SECTIONS伪指令的作用是:描述输入段怎样被组伪指令的作用是:描述输入段怎样被组合到输出段;在可执行程序内定义输出段;规定在存储合到输出段;在可执行程序内定义输出段;规定在存储器内何处放置输出段;允许重命名输出段。器内何处放置输出段;允许重命名输出段。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令16MEMORYPAGE0:/*程序存储器程序存储器*/name

17、1(attr):origin=constant,length=constant;namen(attr):origin=constant,length=constant;PAGE1:/*数据存储器数据存储器*/name1(attr):origin=constant,length=constant;namen(attr):origin=constant,length=constant;PAGE2:/*I/O空间空间*/name1(attr):origin=constant,length=constant;namen(attr):origin=constant,length=constant;DSP

18、原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令17 SECTIONSname:property,property,property,name:property,property,property,name:property,property,property,DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令18 每一个以每一个以name开始的段的规格说明定义了一个输出开始的段的规格说明定义了一个输出段。在段名之后是特性列表,定义段的内容

19、以及它们是段。在段名之后是特性列表,定义段的内容以及它们是怎样被分配的。怎样被分配的。(1)装载位置,规定段将被装载在存储器内何处。装载位置,规定段将被装载在存储器内何处。(2)运行位置,定义段将在存储器内何处运行。运行位置,定义段将在存储器内何处运行。(3)输入段,定义组成输出段的输入段。输入段,定义组成输出段的输入段。(4)段类型,定义特定段类型的标志。段类型,定义特定段类型的标志。(5)填充值,定义用于填充未初始化空位的数值。填充值,定义用于填充未初始化空位的数值。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和

20、伪指令19命令文件举例命令文件举例MEMORY伪指令和伪指令和SECTION伪指令:伪指令:MEMORY PAGE 0:VECS:origin=0000h,length=0040h/*程序复位程序复位*/PVECS:origin=0040h,length=0F00h/*外设中断向量外设中断向量*/PM:origin=1000h,length=6000h PM1:origin=7000h,length=1000h PM2:origin=8000h,length=800h /*如果如果PON=1,则为,则为SARAM*/B0_PM:origin=0FF00h,length=100h /*如果如果C

21、NF=1,则为,则为DARAM B0块块*/PAGE 1:MMRS:origin=0000h,length=0060h B2:origin=0060h,length=0020h/*DARAM B2 块块*/B0:origin=0200h,length=0100h/*如果如果CNF=0则为则为DARAM B0 块块*/B1:origin=0300h,length=0100h/*DARAM B1块块*/SARAM:origin=0800h,length=0800h/*如果如果DON=1则为则为SARAM*/PERIPH:origin=7000h,length=1000h/*外设帧外设帧*/EXTR

22、AM:origin=8000h,length=8000h/*外部扩展外部扩展RAM*/PAGE 2:IO_EX:origin=0000h,length=0FFF0h IO_IN:origin=0FFF0h,length=0FhDSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令20SECTIONS .reset :VECS PAGE0 /*复位中断向量复位中断向量*/.vectors:VECS PAGE0/*中断向量表中断向量表*/.pvecs:PVECS PAGE0/*外设中断向量表外设中断向量表*/.text:P

23、M PAGE0 /*代码代码*/.table:PM PAGE0 .bss:B1 PAGE1 .data0:B0 PAGE1 .data2:B2 PAGE1 .stack:SARAM PAGE1 DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令214.3.4 中断向量文件中断向量文件中断向量文件中断向量文件vectors.asm定义了系统中各种中断服务程序的定义了系统中各种中断服务程序的入口地址。入口地址。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪

24、指令汇编语言和伪指令224.3.5 库文件库文件rts2xx.librts2xx.lib库文件可在库文件可在C:CCStudio_v3.1C2400cgtoolslib下找到,不得修改,完全复制到需要的地方。下找到,不得修改,完全复制到需要的地方。rts2xx.lib包含以下内容:包含以下内容:ANSIC标准库;标准库;系统启动程序系统启动程序_c_int0;允许允许C访问特殊指令的函数和宏。访问特殊指令的函数和宏。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令234.4 C语言和汇编语言混合编程方法语言和汇编

25、语言混合编程方法4.4.1 在在C语言中嵌入汇编语言程序语言中嵌入汇编语言程序1.在在C语言中嵌入单条汇编语句语言中嵌入单条汇编语句/系统初始化程序系统初始化程序void inital()asm(setc SXM);/SXM位置位置1,抑制符号扩展位,抑制符号扩展位asm(clrc OVM);/OVM位清位清0,累加器中结果正常溢出,累加器中结果正常溢出asm(clrc CNF);/CNF位清位清0,B0被映射到数据存储器空间被映射到数据存储器空间DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令242.在在C语言

26、中嵌入实现某一完整功能的多条汇编语句语言中嵌入实现某一完整功能的多条汇编语句 在在C语言中调用汇编语言编写的子程序,用户必须遵语言中调用汇编语言编写的子程序,用户必须遵循相关规则自行维护模块的入口和出口代码,主要应弄循相关规则自行维护模块的入口和出口代码,主要应弄清楚堆栈的使用情况。清楚堆栈的使用情况。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令254.5 分开编写分开编写C语言和汇编语言程序语言和汇编语言程序1.分离的分离的C语言程序和汇编语言程序接口语言程序和汇编语言程序接口 须注意:在编写汇编语言程序时

27、,必须遵守有关调须注意:在编写汇编语言程序时,必须遵守有关调用规则和寄存器规则,这样不会影响用规则和寄存器规则,这样不会影响C语言程序的运行环语言程序的运行环境。境。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令262.在在C语言程序中访问汇编语言程序的变量语言程序中访问汇编语言程序的变量 2种操作方法:种操作方法:(1)汇编变量在汇编变量在.bss段中定义段中定义采用采用.bss命令定义变量命令定义变量采用采用.global命令定义变量命令定义变量在变量名前加一下划线在变量名前加一下划线“_”在在C语言程序中

28、将变量说明为外部变量语言程序中将变量说明为外部变量DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令27(2)用用.set和和.global命令定义的常数。命令定义的常数。在汇编语言中将常数符号定义成全局常数;在汇编语言中将常数符号定义成全局常数;在在C语言程序中访问汇编语言程序中的常数时,应语言程序中访问汇编语言程序中的常数时,应在常数前加一个地址符号在常数前加一个地址符号“&”DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令283

29、.在汇编语言程序中访问在汇编语言程序中访问C语言程序变量语言程序变量在在C语言程序中定义变量语言程序中定义变量(如如x);在汇编语言程序中使用前面加下划线在汇编语言程序中使用前面加下划线“_”(如如_x)。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令294.6 用用C语言处理语言处理 DSP中断中断1.通过软件识别中断标志的方法实现可屏蔽的中断通过软件识别中断标志的方法实现可屏蔽的中断 例如,要实现捕捉单元例如,要实现捕捉单元4的中断的中断(CAP4INT),则先建立则先建立一个复位和中断向量文件一个复位和中

30、断向量文件vectors.asm.title vectors.asm.ref _c_int0,_nothing,_capint ;定义每个需要用到的符号定义每个需要用到的符号.sect .vectorsreset:b _c_int0 ;复位向量复位向量INT1:b _nothingINT2:b _nothingINT3:b _nothingINT4:b _capint ;当发生当发生INT4中断时,程序跳转至中断时,程序跳转至capint所标志所标志 ;的终端服务程序的终端服务程序INT5:b _nothingINT6:b _nothing ;当发生其他级别中断时,直接跳转至当发生其他级别中断

31、时,直接跳转至nothing ;所标志的终端服务程序所标志的终端服务程序DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令30/CAP4INT中断服务程序中断服务程序void interrupt capint()int flag;flag=EVBIFRC&0 x01;if(flag!=0 x01)asm(clrc INTM);RETURN;EVBIFRC=EVBIFRC|0 x01;asm(clrc INTM);return;DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4

32、4章章 汇编语言和伪指令汇编语言和伪指令312.通过外围中断向量寄存器通过外围中断向量寄存器PIVR的值识别中断的方法识别的值识别中断的方法识别可屏蔽的中断可屏蔽的中断 PIVR中的中断向量与外设中断是一一对应的,因此可中的中断向量与外设中断是一一对应的,因此可以用以用Switch语句,在中断服务程序入口处通过语句,在中断服务程序入口处通过PIVR的值来的值来判断发生的中断是否为需要的中断。判断发生的中断是否为需要的中断。DSP原理及应用原理及应用北京理工大学珠海学院信息学院北京理工大学珠海学院信息学院第第4 4章章 汇编语言和伪指令汇编语言和伪指令32/中断服务子程序中断服务子程序void interrupt GISR4()switch(*PIVR)case 0 x0036:SISR4();break;default:break;EVBIFRC=EVBIFRC|0 x01;asm(clrc INTM);return;void SISR4()

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(2407DSP第4章汇编语言及伪指令课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|