DSP第六章汇编语言课件_第1页
DSP第六章汇编语言课件_第2页
DSP第六章汇编语言课件_第3页
DSP第六章汇编语言课件_第4页
DSP第六章汇编语言课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章汇编语言6.1汇编语言格式

TMS320汇编语言源程序由源语句组成。源语句包括汇编指令、伪指令、宏指令。源语句的一般格式为[标号][:]助记符[操作数1,操作数2,…][;注释]标号域

助记符域

操作数域

注释域注:“[]”表示该项可缺省。例6.1SYM1.set2 ;符号SYM1等于2

BEGIN:LDPSYM1;将2装入DP .word016h;初始化一个字为16h1、标号域标号包含1~32个字母、数字、字符(A~Z,a~2,0~9,—及$),可识别符号的大小写,且规定第一个字符不能是数字。

标号可以后随冒号(:),冒号并不作为标号的一部分被处理。

如果不使用标号,则第一个字必须是空格或分号或星号。

当选用标号时,其值是段程序计数器(SPC)的当前值,标号指向与它们相关联的语句。例如,如果用.word伪指令初始化几个字,那么标号将指向第一个字。

行号

SPC目标代码

源语句100040000ASTART:.word0Ah,3,70041000300420007标号也可以单独出现在行中,此时它指向下一行中的指令。如:30050HERE:400500003.word3;此行SPC无增量3、操作数域

操作数域是跟在助记符域后面的操作数列表,可缺省。如果多于两个操作数,则只用逗号隔开。操作数可以是常数、符号和表达式。4、注释域注释域可以从源语句行的任一列开始并直至本行的末尾,即仅包括注释的源语句是有效的。如果它从第一列开始则可以用分号(;)或星号(*)开始;在行的其他地方开始的注释,必须以分号开始。

上述各个域必须用一个或多个空格分开。

6、1、1常数、字符串和符号

(1)二进制整数:以字母B(或b)结尾,由二进制数字(0,1)组成的数字串。数字串长度长度最多可达16个二进制数字,如B。(2)八进制整数:以字母Q(或q)结尾,由八进制数字(0~7)组成的数字串。数字串长度最多可达6个八进制数字,如100000Q。(3)十进制整数:以字母D(或d)结尾(也可缺省),十进制整数由0~9数字组成,范围从-32678~65535,如-30000。(4)十六进制整数:以字母H(或h)结尾,由十六进制数字0~9和A~F(或a~f)组成的数字串。数字串长度最多可达4个十六进制数字。(5)字符常数:包含在单引号中的一个或两个字符的串。每个字符表示为8位ASCII码,如‘a’定义字符a,并在内部用61H表示。(6)汇编时间常数:用.set伪指令对符号进行赋值,赋值的内容不同,汇编时符号所表达的含义也就不同。1、常数

例如,用.set向符号赋值,则符号成为常数,为了在表达式中使用此常数,赋予它的值必须是绝对值。

SHIFT .set3 LACC*,SHIFT,AR1也可用.set将寄存器名赋予符号常数,此时符号与寄存器为同一词,如: AUXR1.setAR1 LACC*,0,AUXR13、符号

符号被用做标号、常数及替代符号。符号名最多可由32个字母和数字混合组成(A~Z,a~z,0~9,$和_)。符号的第一个字符不能是数字,符号内不能有空格。用户定义的符号分大小写,例如汇编时ABC,Abc及abc被识别为3个不同的符号。

表达式由运算符、常数和符号组成。有效表达式值的范围是-32768~+32767。6、1、2表达式和运算符

表达式内使用的运算符的优先级见下表:高组运算符说明优先级1+-~取正取负求反

低2*/%«»乘除求模左移右移3+-^|&加减按位逻辑异或按位逻辑或按位逻辑与4<><=>==或==!=小于大于小于或等于大于或等于等于不等于(2)调用宏:在定义了宏以后,就可以在源程序中将宏的名字作为操作码来调用。

格式:

宏名[实参数1][,实参数2][,实参数n](3)展开宏:汇编器在对源文件进行汇编时,对调用的宏进行展开。在展开过程中,汇编器用宏体取代宏调用语句,宏体中的形式参数(替代符号)用实际参数代替。

①如果某个形式参数没有对应的实参数为其赋值,该形式参数将被空串(“”)代替。

②如果实参数的个数多于形式参数,则余下的实参数将赋给最后一个形式参数(用逗号隔开)。③如果要把一串变量赋给一个形式参数,或者把一个逗号(或分号)传给一个形式参数,就必须用引号将它们引起来。④汇编时,汇编器先用实参数代替形式参数并展开宏,然后把源语句汇编为目标代码,并输出到列表文件中。

宏定义:

parms.macrox,y,za=x b=y c=z .endm调用宏:

汇编时展开宏

parms100,200;a=100

;b=200 ;c=

“”parms“100,200,300”,55,66,77;a=“100,200,300”

;b=55 ;c=

66,77

6.3通用目标文件格式

CCS开发环境可以看成是一个大的软件包,里面包含了源代码编辑器,以及工程文件组织、编译和调试等一切功能模块。该软件包里,shell程序可以完成3个功能:编译、汇编和链接。shell程序缺省在C盘安装时,被安装在C:\ti\c2400\cgtool子目录下,对应的文件名为dspcl.exe。(1)编辑器:包括分析器、优化器、代码产生器。把C语言程序编译成汇编语言程序。(2)汇编器:把汇编语言源代码或C语言已经编译成汇编语言代码进行汇编,以产生COFF目标文件。(3)链接器:将文件链接,产生可执行的目标文件。6.3.1块

目标文件的最小单位被称为块,它是在存储器中占有连续空间的一块代码或数据。目标文件中的每一个块都是独立的。一般地,COFF目标文件应包含3个缺省的块:.text块:通常包含可执行代码。.data块:通常包含已初始化的数据。.bss块:通常为未初始化的变量保留空间。

此外,汇编器和连接器允许用户建立和链接自定义的块,这些块与.text,.data类似。所有的块可以分为两类:已初始化块:包含程序代码和数据。如.text和.data及用.sect或.asect汇编器命令创建的块。未初始化块:为未初始化数据在存储器映像中保留空间。.bss段和用.usect汇编器命令创建的块是未初始化的段。

6.3.2汇编器对块的处理

汇编器对块的处理功能主要是确定汇编语言程序的各部分属于哪个特定的块。汇编器有六个命令来完成这种功能:.bss,.usect,.text,.data,.sect及.asect

。其中.bss和.usect

命令创建未初始化块,而.text

,.data

,.sect及.asect

命令则建立已初始化块。如果在程序中未用任何命令来指示,汇编器将把所有程序块或数据块统一汇编至.text

中。(1)未初始化块

未初始化块主要用来在存储器中保留空间,它们通常分配在RAM中。这些块在目标文件中没有实际内容,只是保留空间而已。程序可以在运行时利用这些空间建立和存储变量。未初始化数据块是通过使用.bss和.usect汇编器命令来建立。.bss命令在.bss块中保留空间,而.usect命令在自定义块中保留空间。格式为:

.bss符号,字数符号.usect“块名”,字数其中,符号指向由.bss或.usect保留的第一个字,它对应于为变量保留空间的变量名,可以在其他任何块中被访问,也可以用.global定义为全局符号。字数表示空间的大小,块名是程序员自己定义的名字。汇编器遇到.text,.data,.sect和.

asect命令时立即停止汇编至当前块中且开始汇编至相应块中。汇编器遇到.bss或.usect命令并不结束当前块开始一个新块,它们只是暂时离开当前块。当汇编器遇到上述命令时,立即停止汇编至当前块中,且开始将随后的代码或数据汇编至相应的块中。块是通过迭代过程建立的。如,当汇编器首次遇到一个.data命令,.data块是空的,.data后面的语句被汇编到.data块中,直到遇到一个.text,.sect或.asect命令为止。如果汇编器在后面又遇到.data命令,则将.data后面的语句加到已存在于.data块中语句的后面,这样建立的唯一的.data块可以在存储器中分配一个连续的空间。(3)自定义块

自定义块就是程序员自己建立的块,与缺省的.text,.data和.bss块一样使用,但它与缺省块分开汇编。如,重复使用.text命令在目标文件中只建立一个.text块,链接后这个.text块也作为一个单位分配到存储器中。有时候程序员想把一部分程序放至不同于.text的存储器中,则须使用自定义块,对数据也可同样处理。有三条指令可建立自定义块:.usect,.sect和.asect,其中.usect建立的块用法类似于.bss,是在RAM中为变量保留空间;而.sect和.asect建立包含代码或数据的块,用法类似于.text和.data。.sect建立的块是可重定位的,而.asect建立具有绝对地址的块。符号.usect“块名”,字数

.sect“块名”.asect“块名”,地址例此例表示如何用.usect伪指令定义两个未初始化的命名段var1和var2。符号ptr指向var1段中保留的第一个字。符号array指向var1段中100个字块内的第一个字。符号dflag指向var1段中50个字块内的第一个字。符号vec指向Var2段中保留的第一个字。0000.text;汇编到.text段00002003LAC03h0000ptr.usect“var1”,1;在var1段保留1个字0001array.usect“var1”,100;在var1段保留100个字00010037ADD037h;还在.text段0065dflag.usect“var1”,50;在var1段保留50个字00020065ADDdflag;还在.text段0000vec.usect“var2”,100;在var2段保留100个字00030000ADDvec;还在.text段.globalarray;将array定义为外部符号名

6.3.4程序的重定位

汇编器对每块汇编时都假定其起始地址为0,每块中所有的重定位符号(标号)都是相对于0地址而言的。当然,实际上并不是所有块在存储器中都是以0地址定位的,因此链接器必须通过下列方法对每块进行重定位。(1)分配块至存储器,使各块有合适的起始地址。(2)调整符号值,使之对应于新的块地址。(3)调整重定位后符号的参考值,以反映调整后的符号值。链接器利用重定位项来调整符号的参考值。汇编器每次在可重定位符号被参考时建立一个重定位项,链接器则在符号被重定位之后利用这些项来修正参考值。

COFF目标文件中的每一块都有一个重定位项目表。表中包含了块中每一个可重定位参考的一个重定位项。链接器在使用完重定位项后将其去除以防止对输出块再次重定位。产生重定位项的代码

1.refX

20000.text30000FF80BX;产生一个重定位项

00010000!

40002D001LALKY;产生一个重定位项0003000450004CEIFY:IDLE链接后,假定X重定位至地址100h,且.text块重定位到起始地址200h,则Y重定位后的地址为204h。链接器利用这两个重定位项在目标代码中补上这两个参考:FF80BX变为FF80

00000100D001LALKY变为D001000402046.4链接命令文件链接器的缺省分配算法是:(1)程序存储器的起始地址是0x1000h,长度为0xEFFF。(2)数据存储器的起始地址是0x300h,长度为0xFCFF。(3)将.text分配到起始地址为0x1000h的程序存储器中。(4)将.data分配到紧跟在.text的程序存储器中。(5)将.cinit分配到紧跟在.data的程序存储器中。(6)将自定义的已初始化块分配到紧跟在.data的存储器中,若自定义块不止1个,则按自定义块在输入文件的先后顺序存放。(7)将.bss分配到起始地址为0x300h的数据存储器中。(8)将自定义的未初始化块分配到紧跟在.bss的存储器中,若自定义块不止1个,则按自定义块在输入文件的先后顺序存放。1、MEMORY伪指令

MEMORY伪指令的一般语句格式为:

MEMORY{PAGE0:存储器名1[(属性)]:origin=常数,length=常数··········PAGEn:存储器名n[(属性)]:origin=常数,length=常数}(1)PAGE:定义一个存储器空间,用户可以定义多达255页。通常PAGE0定义程序存储器,PAGE1定义数据存储器。如果用户没有使用PAGE选项,那么连接器把段定位到PAGE0。每个PAGE代表一个完全独立的地址空间。在PAGE0上已配置的存储器可以和在PAGE1上已配置的存储器重叠。(2)存储器名:命名存储器范围。存储器名由1~8个字符组成,有效的字符包括A~Z,a~z,$及_。名字对于连接器没有特殊的意义,仅指明存储器的区域。在不同页上存储器范围可以有相同的名字,而在同一页,所有的存储器范围不能有相同的名字,且不能重叠。(3)属性:对于已命名的范围有1~4个属性。属性是可选项,当被使用时,必须用括号括起来。属性把输出段的定位限制在某些存储器范围内。如果用户不使用任何属性,则输出段即可以定位到任何范围内。有效的属性包括:

R:规定存储器可以被读出;

W:规定存储器可以被写入;

I:规定存储器可以被初始化。(4)origin:指定一个存储器区域的起始地址,也可以写成org或0。这个值是以字节规定的16位常数,也可以是十进制、八进制或十六进制。(5)length:指定一个存储器的长度,也可以写成len或1。数值的表示方法与origin相同。例:

MEMORY指令举例/*SampleCommand*/file1.objfile2.Obj-oprog.outMEMORY{PAGE0:ROM:ORIGIN=0h,LENGTH=1000hPAGE1:B2:ORIGIN=60h,LENGTH=20hB0B1:ORIGIN=200h,LENGTH=200h}SECTIONS伪指令的一般语法形式是:

SECTIONS{段名1:[特性1,特性2,……]段名2:[特性1,特性2,……]…….}2、SECTION伪指令

特性列表的选项(块所具备的特性)有以下几种:(1)装载地址:规定块将被装载在存储器中的位置。

语法:load=allocation

allocation

或{}>allocationallocation是MEMORY伪指令所定义的范围内地址,包括ROM、RAM、实际地址值(16位常数)等。(2)运行地址:定义块在存储器内运行的位置。

语法:run=allocation

run>allocation

如果在一个块中load和run的地址相同,run可以省略。(3)调准地址:规定块应在地址边界上开始。调准可以使连接器把输出块放在位于n字边界的地址,其中/2是2的幂。

语法:align=n

align=(n)

如.textalign=128,即将.text段定位于页边界。(4)块地址:规定块必须装在两个地址边界之间,它把块定位在大小为n的块内任何地方,如果块大于大小为的n块,那么块将从该边界开始。和调准一样,n必须是2的幂。语法:block=n或

block(n)如.bssload=block(0x80)。定位.bss块使其包含在单个128字的页内或者从新页开始。用户可以单独使用调准或块,也可以和装入地址、运行地址结合在一起使用,但是调准和块不能一起使用。(5)输入块:定义组成输出块的输入块。

语法:{input_sections}输入文件中的块组合起来形成输出块,连接器按照所列出的输入块的次序连接并组合它们。输出块的大小是组成它的输入块的大小之和。通用类型的块的规格说明中没有输入块。如SECTIONS{.text:.data:.bss:}此时链接器从输入文件取出所有.text块并把它们组合到.text输出块内。链接器按照它在输入文件中遇到的次序连接.text输入块,对.data和.bss块的操作与.text相同。例:SECTIONS{.text/*创建.text输出段*/{f1.obj(.text)/*从f1.obj输入文件中连接.text段*/f2.obj(sec1)/*从f2.obj输入文件中连接.sec1段*/f3.obj/*连接f3.obj输入文件中所有的段*/f4.obj(.text,sec2)/*从f4.obj输入文件中连接.text和.sec1段*/}}(6)块类型:定义特殊块类型的标志。语法:type=COPY或

type=DSECT或

type=NOLOAD用户可以把这3种特殊的类型赋予输出块。用COPY和DSECT创建的块是一个虚块,它不包括在输出块存储器分配内,也不占据存储器空间,不包括在存储器映象列表中。但在虚块中定义的全局符号可以被其他输入块引用,COPY段可以将块的内容、重定位信息及行号信息放在输出模块中,而DSECT块则不放置。

NOLOAD创建的块不将块的内容、重定位信息及行号信息放在输出模块中,但链接器为其分配空间并包括在存储器映象列表中。例SETIONS伪指令的使用

/*输入文件*/-oprog.out/*输出文件*/

SECTIONS{.text:load=ROMrun=0800h .const:load=ROM .bss:load=ROM Vectors:load=0h { t1.obj(.intvec1) t2.obj(.intvec2) endvec=.;/*将vectors段的最后连接地址赋给endvec符号*/ } .data:align=16 }(7)填充值:定义用于填充初始化空位的数值。语法:或

name:…{…}:value当初始化输出块内有空位存在时,链接器必须提供原始数据以填充它值填充空位,该数值在存储器内复制直至它填满空位为止。

程序存储器:

地址范围

内容 0000~0FFF片内ROM FF00~FFFF片内RAM块B0数据存储器:

地址范围

内容 0000~0005I/O寄存器 0060~007F片内RAM块B20300~03FF片内RAM块B13、链接器举例命令文件exmp.cmd/**定义连接器选项**/-eSETUP/*定义程序入口*/-oexmp.out/*命名输出文件*/-mexmp.map

/*创建一个输出列表文件*//**定义输入文件**/exmp.obj/*连接三个目标文件*/fft.objtables.obj/**定义存储器配置**/MEMORY{PAGE0:ROM:ORIGIN=0000h,LENGTH=1000hRAM_B0:ORIGIN=FF00h,LENGTH=100hPAGE1:IO:ORIGlN=0000h,LENGTH=06hRAM_B2:ORIGIN=0060h,LENGTH=20hRAM_B1:ORIGIN=0300h,LENGTH=100h RAM:ORIGIN=0400h,LENGTH=FC00h}

/**定义输出段SECTIONS{.text:{}>ROM,PAGE=0

/*将包含在exmp.obj和fft.obj中的.text块链接到

ROM中*/int_vecs:load=0,PAGE=0

/*将来自table.obj中int_vecs块的一组中断矢量连接到ROM中的0地址处*/.data:,load=RAM_B0,PAGE=0/*将tabales.obj和fft.obj中的.data块链接到程序存储器RAM块B0中,并在其后创建256字的空位,用7Alh填充*/{tables.obj(.data)fft.obj(.data).=l00h;}fftvars:{}>RAM_B2,page=1

/*创建新块fftvars,并将来自fft.obj的.bss

块链入数据存储器RAM块的B2中*/{

fft.obj(.bss)}.bss:{}>RAM_B1,PAGE=1,FILL=0FFFFh

/*exmp.obj中的.bss块链接到RAM块B1中。RAM的未用部分被初始化为FFFh*/}/**命令文件结束**/

然后用下列命令调用连接器:

dsplnkexmp.cmd

这样将生成一个名为exmp.out的输出文件,可以在TMS320上运行。同时还生成一个列表文件exmp.map。

6.5程序举例在程序设计时,如果需要在多个模块中使用相同的设置和中断处理,通常将芯片中映射至I/O空间的寄存器地址及标号、预置变量和常数的空间等设置语句集中在一个文件中,称为I/O寄存器头文件(如init.h);将转移中断矢量地址的指令集中在一个文件中,称为中断矢量头文件(如vector.h);将定义程序、数据和I/O空间地址块大小和位置的伪指令集中在一个文件中,称为命令文件(如F206.cmd)。这3个文件称为公用文件。用户在编写自己的应用程序时,用.copy或.include伪指令将I/O寄存器头文件和中断矢量头文件复制到该应用程序中,形成一个汇编源程序(如delay.asm),由汇编器进行汇编后生成一个目标文件(如delay.obj)。再由连接器把该目标文件和命令文件相连接,生成一个可执行文件(如delay.out)。对于简单的单个应用程序也可不使用这两个头文件,直接在应用程序中对用到的I/O寄存器和中断转移地址进行设置。1、公用文件该文件可为LF2407芯片定义程序、数据和I/O空间地址块的大小和位置,用于和汇编后的TMS320C2000文件(*.obj)相连接,输出文件名为.out。对于其他芯片,应对该文件作相应的修改。/*File:LF2407_PM.cmdMEMORY{PAGE0: /*程序存储空间*/PM:ORIGIN=0h,LENGTH=0044h/*中断矢量*/PVECS:ORIGIN=0044h,LENGTH=0100h/*外设中断矢量*/PROG:ORIGIN=0150h,LENGTH=7EAFh/*以上为32K字片内闪速存储器(0000h~8000h)*/SARAM_P:ORIGIN=8000h,LENGTH=0800h/*程序空间上的2K字SARAM*/EX1_PM:ORIGIN=8800h,LENGTH=7600h/*外部RAM*/B0_PM:ORIGIN=0FF00h,LENGTH=0100h/*如果CNF=1为片上DARAM,否则为外部B0:FF00h~FFFFh*/(1)命令文件LF2407_PM.cmd:PAGE1:/*数据存储空间*/REGS:ORIGIN=0h,LENGTH=60h/*内存映射寄存区和保留地址*/BLK_B2:ORIGIN=60h,LENGTH=20h/*块B2*/BLK_B0:ORIGIN=200h,LENGTH=100h/*块B0,如果CNF=0为片内DARAM*/BLK_B1:ORIGIN=300h,LENGTH=100h/*片内存储器块B1*/SARAM_D:ORIGIN=0800h,LENGTH=0800h/*数据空间2K字SARAM*/PERIPH:ORIGIN=7000h,LENGTH=1000h/*外设寄存器空间*/EX1_DM:ORIGIN=8000h,LENGTH=0800h/*数据空间2K字SARAM*/PAGE2:/*I/O存储空间*/IO_EX:ORIGIN=0000h,LENGTH=0FFF0h/*外部I/O映射空间*/IO_EX:ORIGIN=0FFF0h,LENGTH=0Fh/*片内的I/O映射空间*/}SECTIONS{.vectors:{}>PMPAGE0.pvecs:{}>PVECSPAGE0.text:{}>PROGPAGE0.bss:{}>BLK_B2PAGE1.data:{}>BLlBlPAGEl}(2)240x寄存器头文件240xA.h:;Fllename:240xA.h;240xCPU核寄存器IMR .set0004h ;中断屏蔽寄存器IFR .set0006h ;中断标志寄存器;系统配置和中断寄存器SCSR1 .set7018h ;系统控制和状态寄存器lSCSR2 .set7019h ;系统控制和状态寄存器2DINR .set701Ch ;器件版本号寄存器PIVR .set701Eh ;外部中断矢量寄存器PIRQR0 .set7010h ;外部中断请求寄存器0PIRQR1 .set7011h ;外部中断请求寄存器1PIRQR2 .set7012h ;外部中断请求寄存器2该文件包含了240x芯片所有外部寄存器的地址、标号、预置变量和常数,在片内,所有外部寄存器都被映射到数据空间。该文件还定义了看门狗宏指令。可用.copy或.include伪指令将240xA.h复制到应用程序中。PIACKR0 .set7014h;外部中断响应寄存器0PIACKR1 .set7015h;外部中断响应寄存器1PIACKR2 .set7016h;外部中断响应寄存器2;外部中断配置寄存器XINT1CR .set7070h;外部中断1控制寄存器XINT2CR .set7071h;外部中断2控制寄存器;数据I/O寄存器MCRA .set7090h;I/O复用控制寄存器AMCRB .set7092h;I/O复用控制寄存器BMCRC .set7094h;I/O复用控制寄存器CPADATDIR .set7098h;I/O口A数据和方向寄存器PBDATDIR .set709Ah;I/O口B数据和方向寄存器PCDATDIR .set709Ch;I/O口C数据和方向寄存器PDDATDIR .set709Eh;I/O口D数据和方向寄存器PEDATDIR .set7095h;I/O口E数据和方向寄存器PFDATDIR .set7096h;I/O口F数据和方向寄存器;看门狗(WD)寄存器WDCNTR .set7023h;WD计数器寄存器WDKEY .set7025h;WD复位关键字寄存器WDCR .set7029h;WD定时器控制寄存器:模数转换(ADC)寄存器ADCCTRL1 .set70A0h;ADC控制寄存器1ADCCTRL2 .set70A1h;ADC控制寄存器2MAXCONV .set70A2h;最大转换通道个数寄存器CHSELSEQ1 .set70A3h;通道选择排序控制寄存器1CHSELSEQ2 .set70A4h;通道选择排序控制寄存器2CHSELSEQ3 .set70A5h;通道选择排序控制寄存器3CHSELSEQ4 .set70A6h;通道选择排序控制寄存器4AUTOSEQ-SR.set70A7h;自动排序状态寄存器RESULT0 .set70A8h;A/D转换结果寄存器0RESULT1 .set70A9h;A/D转换结果寄存器1RESULT2 .set70AAh;A/D转换结果寄存器2RESULT3 .set70ABh;A/D转换结果寄存器3RESULT4 .set70ACh;A/D转换结果寄存器4RESULT5 .set70ADh;A/D转换结果寄存器5RESULT6 .set70AEh;A/D转换结果寄存器6RESULT7 .set70AFh;A/D转换结果寄存器7RESULT8 .set70B0h;A/D转换结果寄存器8RESULT9 .set70B1h;A/D转换结果寄存器9RESULTl0 .set70B2h;A/D转换结果寄存器10RESULT11 .set70B3h;A/D转换结果寄存器11RESULT12 .set70B4h;A/D转换结果寄存器12RESULT13 .set70B5h;A/D转换结果寄存器13RESULT14 .set70B6h;A/D转换结果寄存器14RESULT15 .set70B7h;A/D转换结果寄存器15CALIBRATION .set70B8h;校准结果寄存器:串行外设接口(SPI)寄存器SPICCR .set7040h;配置控制寄存器SPICTL .set7041h;操作控制寄存器SPISTS .set7042h;状态寄存器SPIBRR .set7044h;波特率控制寄存器SPIEMU .set7046h;仿真缓冲寄存器SPIRXBUF .set7047h;串行接收缓冲寄存器SPITXBUF .set7048h;串行发送缓冲寄存器SPIDAT .set7049h;串行数据寄存器SPIPRI .set704Fh;中断优先级控制寄存器;串行通信接口SCICCR .set7050h;SCI通信控制寄存器SCICTL1 .set7050h;SCI控制寄存器1SCIHBAUD .set7050h;SCI波特率高位字节寄存器SCILBAUD .set7050h;SCI波特率低位字节寄存器SCICTL2 .set7050h;SCI控制寄存器2SCIRXST .set7050h;SCI接收状态寄存器SCIRXEMU .set7050h;SCI接收数据缓冲寄存器SCIRXBUF .set7050h;SCI仿真数据缓冲寄存器SCITXBUF .set7050h;SCI发送数据缓冲寄存器SCIPRI .set7050h;SCl中断优先级控制寄存器;事件管理器A(EVA)寄存器GPTCONA .set7400h;全局通用定时器控制寄存器AT1CNT .set7401h;通用定时器1计数寄存器T1CMPR .set7402h;通用定时器1比较寄存器T1PR .set7403h;通用定时器1周期寄存器T1CON .set7404h;通用定时器1控制寄存器T2CNT .set7405h;通用定时器2计数寄存器T2CMPR .set7406h;通用定时器2比较寄存器T2PR .set7407h;通用定时器2周期寄存器T2CON .set7408h;通用定时器2控制寄存器COMCONA .set7411h;比较控制寄存器AACTRA .set7413h;全比较操作控制寄存器ADBTCONA .set7415h;死区时间控制寄存器ACMPR1 .set7417h;全比较单元1比较寄存器CMPR2 .set7418h;全比较单元2比较寄存器CMPR3 .set7419h;全比较单元3比较寄存器CAPCONA .set7420h;捕获控制寄存器ACAPFIFOA .set7422h;捕获FIFO状态寄存器ACAP1FIFO .set7423h;捕获1FIFO栈项寄存器CAP2FIFO .set7424h;捕获2FIFO栈顶寄存器CAP3FIFO .set7425h;捕获3FIFO栈顶寄存器CAP1FBOT .set7427h;捕获1FIFO栈底寄存器CAP2FBOT .set7428h;捕获2FIFO栈底寄存器CAP3FBOT .set7429h;捕获3FIFO栈底寄存器EVAIMRA .set742Ch;EVA中断屏蔽寄存器AEVAIMRB .set742Dh;EVA中断屏蔽寄存器BEVAIMRC .set742Eh;EVA中断屏蔽寄存器CEVAIFRA.set742Fh;EVA中断标志寄存器AEVAIFRB.set7430h;EVA中断标志寄存器BEVAIFRC.set7431h;EVA中断标志寄存器C;事件管理器B(EVB)GPTCONB .set7500h;全局通用定时器控制寄存器BT3CNT .set7501h;通用定时器3计数寄存器T3CMPR .set7502h;通用定时器3比较寄存器T3PR .set7503h;通用定时器3周期寄存器T3CON .set7504h;通用定时器3控制寄存器T4CNT .set7505h;通用定时器4计数寄存器T4CMPR .set7506h;通用定时器4比较寄存器T4PR .set7507h;通用定时器4周期寄存器T4CON .set7508h;通用定时器4控制寄存器COMCONB .set7511h;比较控制寄存器BACTRB .set7513h;全比较操作控制寄存器BDBTCONB .set7515h;死区时间控制寄存器BCMPR4 .set7517h;全比较单元比较寄存器4CMPR5 .set7518h;全比较单元比较寄存器5CMPR6 .set7519h;全比较单元比较寄存器6CAPCONB .set7520h;捕获控制寄存器BCAPFIFOB .set7522h;捕获FIFO状态寄存器BCAP4FIFO .set7523h;捕获4FIFO栈项寄存器CAP5FIFO .set7524h;捕获5FIFO栈顶寄存器CAP6FIFO .set7525h;捕获6FIFO栈顶寄存器CAP4FBOT .set7527h;捕获4FIFO栈底寄存器CAP5FBOT .set7528h;捕获5FIFO栈底寄存器CAP6FBOT .set7529h;捕获6FIFO栈底寄存器EVBIMRA .set752Ch;EVB中断屏蔽寄存器AEVBIMRB .set752Dh;EVB中断屏蔽寄存器BEVBIMRC .set752Eh;EVB中断屏蔽寄存器CEVBIFRA.set752Fh;EVB中断标志寄存器AEVBIFRB.set7530h;EVB中断标志寄存器BEVBIFRC.set7531h;EVB中断标志寄存器C;CAN寄存器CANMDER.set7100h;CAN邮箱方向/使能寄存器CANTCR .set7101h;CAN发送控制寄存器CANRCR .set7102h;CAN接收控制寄存器CANMCR .set7103h;CAN主控制寄存器CANBCR2 .set7104h;CAN位配置寄存器2CANBCR1 .set7105h;CAN位配置寄存器1CANESR .set7106h;CAN错误状态寄存器CANGSR .set7107h;CAN全局状态寄存器CANCEC .set7108h;CAN传送和接收错误计数器CANIFR .set7109h;CAN中断标志寄存器CANIMR .set710ah;CAN中断屏蔽寄存器CANLAM0H.set710bh;CAN本地接收屏蔽高位字寄存器(MBX0/1)CANLAM0L.set710ch;CAN本地接收屏蔽低位字寄存器(MBX0/1)CANLAM1H.set710dh;CAN本地接收屏蔽高位字寄存器(MBX2/3)CANLAM1L.set710eh;CAN本地接收屏蔽低位字寄存器(MBX2/3)CANMSGIDOL.set7200h;CAN邮箱0消息标识符(低16位字)CANMSGIDOH.set7201h;CAN邮箱0消息标识符(高16位字)CANMSGCTRl0.set7202h;CAN邮箱0消息控制域寄存器CANMBX0A .set7204h;CAN邮箱0中邮箱RAM的2个字节CANMBX0B .set7205h;CAN邮箱0中邮箱RAM的2个字节CANMBX0C .set7206h;CAN邮箱0中邮箱RAM的2个字节CANMBX0D .set7207h;CAN邮箱0中邮箱RAM的2个字节CANMSGID1L .set7208h;CAN邮箱1消息标识符(低16位字)CANMSGID1H .set7209h;CAN邮箱1消息标识符(高16位字)CANMSGCTRL1 .set720Ah;CAN邮箱1消息控制域寄存器CANMBX1A .set720Ch;CAN邮箱1中邮箱RAM的2个字节CANMBX1B .set720Dh;CAN邮箱1中邮箱趾M的2个字节CANMBX1C .set720Eh;CAN邮箱1中邮箱RAM的2个字节CANMBX1D .set720Fh;CAN邮箱1中邮箱RAM的2个字节CANMSGID2L .set7210h;CAN邮箱2消息标识符(低16位字)CANMSGID2H .set7211h;CAN邮箱2消息标识符(高16位字)CANMSGCTRL2 .set7212h;CAN邮箱2消息控制域寄存器CANMBX2A .set7214h;CAN邮箱2中邮箱RAM的2个字节CANMBX2B .set7215h;CAN邮箱2中邮箱RAM的2个字节CANMBX2C .set7216h;CAN邮箱2中邮箱RAM的2个字节CANMBX2D .set7217h;CAN邮箱2中邮箱RAM的2个字节CANMSGID3L .set7218h;CAN邮箱3消息标识符(低16位字)CANMSGID3H .set7219h;CAN邮箱3消息标识符(高16位字)CANMSGCTRL3 .set721Ah;CAN邮箱3消息控制域寄存器CANMBX3A .set721Ch;CAN邮箱3中邮箱RAM的2个字节CANMBX3B .set721Dh;CAN邮箱3中邮箱RAM的2个字节CANMBX3C .set721Eh;CAN邮箱3中邮箱RAM的2个字节CANMBX3D .set721Fh;CAN邮箱3中邮箱RAM的2个字节CANMSGID4L .set7220h;CAN邮箱4消息标识符(低16位字)CANMSGID4H .set7221h;CAN邮箱4消息标识符(高16位字)CANMSGCTRL4 .set7222h;CAN邮箱4消息控制域寄存器CANMBX4A .set7224h;CAN邮箱4中邮箱RAM的2个字节CANMBX4B .set7225h;CAN邮箱4中邮箱RAM的2个字节CANMBX4(2 .set7226h;CAN邮箱4中邮箱RAM的2个字节CANMBX4D .set7227h;CAN邮箱4中邮箱RAM的2个字节CANMSGID5L .set7228h;CAN邮箱5消息标识符(低16位字)CANMSGID5H .set7229h;CAN邮箱5消息标识符<高16位字)CANMSGCTRL5 .set722Ah;CAN邮箱5消息控制域寄存器CANMBX5A .set722Ch;CAN邮箱5中邮箱RAM的2个字节CANMBX5B .set722Dh;CAN邮箱5中邮箱RAM的2个字节CANMBX5C .set722Eh;CAN邮箱5中邮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论