资源描述
20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1 1第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.4.34.4.34.4.34.4.3 汇编伪指令汇编伪指令汇编伪指令汇编伪指令 调整调整调整调整SPCSPCSPCSPC的指令的指令的指令的指令 如如如如.alignalignalignalign等。等。等。等。对输出列表文件格式化的命令对输出列表文件格式化的命令对输出列表文件格式化的命令对输出列表文件格式化的命令 如如如如.drlistdrlistdrlistdrlist、.drnolist.drnolist.drnolist.drnolist等。等。等。等。引用其他文件的命令引用其他文件的命令引用其他文件的命令引用其他文件的命令 如如如如copycopycopycopy、.def.def.def.def、.global.global.global.global、.include.include.include.include、.mlib.mlib.mlib.mlib、.ref.ref.ref.ref等。等。等。等。20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用2 2第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.4.34.4.34.4.34.4.3 汇编伪指令汇编伪指令汇编伪指令汇编伪指令 控制条件汇编的命令控制条件汇编的命令控制条件汇编的命令控制条件汇编的命令 如如如如.breakbreakbreakbreak、.else.else.else.else、.elseif.elseif.elseif.elseif、.endif.endif.endif.endif、.endloop.endloop.endloop.endloop、.if.if.if.if、.loop.loop.loop.loop等。等。等。等。在汇编时定义符号的命令在汇编时定义符号的命令在汇编时定义符号的命令在汇编时定义符号的命令 如如如如.asgasgasgasg、.endstruct.endstruct.endstruct.endstruct、.equ.equ.equ.equ、.eval.eval.eval.eval、.label.label.label.label、.set.set.set.set、.sruct.sruct.sruct.sruct等。等。等。等。执行其他功能的命令执行其他功能的命令执行其他功能的命令执行其他功能的命令 如如如如.algebraicalgebraicalgebraicalgebraic、.emsg.emsg.emsg.emsg、.end.end.end.end、.mmregs.mmregs.mmregs.mmregs、.mmsg.mmsg.mmsg.mmsg、.newblock.newblock.newblock.newblock、.sblocksblocksblocksblock、.version.version.version.version、.vmsg.vmsg.vmsg.vmsg等。等。等。等。20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用3 3第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.4.34.4.34.4.34.4.3 汇编伪指令汇编伪指令汇编伪指令汇编伪指令 1 1 1 1定义段的伪指令定义段的伪指令定义段的伪指令定义段的伪指令 用于定义相应的汇编语言程序的段。用于定义相应的汇编语言程序的段。用于定义相应的汇编语言程序的段。用于定义相应的汇编语言程序的段。助记符及语法格式助记符及语法格式助记符及语法格式助记符及语法格式 说说说说 明明明明 .bss symbol,size in words,blocking,alignmentbss symbol,size in words,blocking,alignment 为未初始化的数据段为未初始化的数据段为未初始化的数据段为未初始化的数据段.bssbss保留存储空间。保留存储空间。保留存储空间。保留存储空间。.datadata 指定指定指定指定.datadata后面的代码为数据段,通常包后面的代码为数据段,通常包后面的代码为数据段,通常包后面的代码为数据段,通常包含含含含初始化的数据。初始化的数据。初始化的数据。初始化的数据。.sect sect“section namesection name”定义初始化的命名段定义初始化的命名段定义初始化的命名段定义初始化的命名段,可以包含可执行代可以包含可执行代可以包含可执行代可以包含可执行代码或数据。码或数据。码或数据。码或数据。.texttext 指定指定指定指定.texttext后面的代码为文本段后面的代码为文本段后面的代码为文本段后面的代码为文本段,通常包通常包通常包通常包含可执行的代码。含可执行的代码。含可执行的代码。含可执行的代码。symbol.usect symbol.usect“section namesection name”,size in words,size in words,blocking,alignment flag,blocking,alignment flag 为未初始化的命名段保留空间。类似为未初始化的命名段保留空间。类似为未初始化的命名段保留空间。类似为未初始化的命名段保留空间。类似.bssbss伪指令,但允许保留与伪指令,但允许保留与伪指令,但允许保留与伪指令,但允许保留与.bssbss段不同的空间。段不同的空间。段不同的空间。段不同的空间。20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用4 4第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.24.4.2】段伪指令的使用。段伪指令的使用。段伪指令的使用。段伪指令的使用。1 1 *2 2 *开始汇编到开始汇编到开始汇编到开始汇编到.texttexttexttext段段段段 *3 3 *4 4 000000000000 .text.text 5 5 000000000000 00010001 .word 1,2.word 1,2 000001000001 00020002 6 6 000002000002 00030003 .word 3,4.word 3,4 000003000003 0004 0004 7 7 1 1 1 1定义段的伪指令定义段的伪指令定义段的伪指令定义段的伪指令 ;定义文本段定义文本段定义文本段定义文本段 ;初始化值为初始化值为初始化值为初始化值为1 1,2 2 ;初始化值为初始化值为初始化值为初始化值为3 3,4 420242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用5 5第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.24.4.2】段伪指令的使用。段伪指令的使用。段伪指令的使用。段伪指令的使用。8 8 *9 9 *开始汇编到开始汇编到开始汇编到开始汇编到.datadatadatadata段段段段 *1010 *1111 000000000000 .data.data 1212 000000000000 00090009 .word 9,10.word 9,10 000001000001 000A000A 1313 000002000002 000B000B .word 11,12.word 11,12 000003000003 000C 000C 14 14 1 1 1 1定义段的伪指令定义段的伪指令定义段的伪指令定义段的伪指令 ;定义数据段定义数据段定义数据段定义数据段 ;初始化值为初始化值为初始化值为初始化值为9 9,1010 ;初始化值为初始化值为初始化值为初始化值为1111,121220242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用6 6第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.24.4.2】段伪指令的使用。段伪指令的使用。段伪指令的使用。段伪指令的使用。1515 *1616 *开始汇编到命名的初始化段开始汇编到命名的初始化段开始汇编到命名的初始化段开始汇编到命名的初始化段 *1717 *var_defsvar_defs *1818 *1919 000000000000 .sect.sect“var_defsvar_defs”2020 000000000000 00110011 .word 17,18.word 17,18 000001000001 00120012 2121 1 1 1 1定义段的伪指令定义段的伪指令定义段的伪指令定义段的伪指令 ;定义命名段定义命名段定义命名段定义命名段 ;初始化值为初始化值为初始化值为初始化值为1717,181820242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用7 7第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.24.4.2】段伪指令的使用。段伪指令的使用。段伪指令的使用。段伪指令的使用。2222 *2323 *再继续汇编到再继续汇编到再继续汇编到再继续汇编到.datadatadatadata段段段段 *2 2 2 24 4 *2525 000004000004 .data.data 2626 000004000004 000D000D .word 13,14.word 13,14 000005000005 000E000E 2727 000000000000 .bss sym,19.bss sym,192828 000006000006 000F000F .word 15,16.word 15,16 000007000007 0010001029 29 1 1 1 1定义段的伪指令定义段的伪指令定义段的伪指令定义段的伪指令 ;继续汇编数据段继续汇编数据段继续汇编数据段继续汇编数据段 ;初始化值为初始化值为初始化值为初始化值为1313,1414 ;定义未初始化段定义未初始化段定义未初始化段定义未初始化段,保留保留保留保留1919个空间个空间个空间个空间;仍然在仍然在仍然在仍然在.datadata段中段中段中段中;初始化值为初始化值为初始化值为初始化值为1515,161620242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用8 8第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.24.4.2】段伪指令的使用。段伪指令的使用。段伪指令的使用。段伪指令的使用。3030 *3131 *再继续汇编到再继续汇编到再继续汇编到再继续汇编到.texttext段段段段 *32323232 *3333 000004 000004 .text.text 3434 000004 000004 00050005 .word 5,6.word 5,6 000005 000005 00060006 3535 000000 000000 usymusym .usect.usect“xyxy”,20,203636 000006 000006 00070007 .word 7,8word 7,8 000007 000007 0008 0008 1 1 1 1定义段的伪指令定义段的伪指令定义段的伪指令定义段的伪指令 ;继续汇编文本段继续汇编文本段继续汇编文本段继续汇编文本段 ;初始化值为初始化值为初始化值为初始化值为5 5,6 6 ;定义定义定义定义xyxy段,保留段,保留段,保留段,保留2020个个个个空间空间空间空间 ;仍然在仍然在仍然在仍然在.texttext段中段中段中段中 ;初始化值为初始化值为初始化值为初始化值为7 7,8 820242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用9 9第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.24.4.2】段伪指令的使用。段伪指令的使用。段伪指令的使用。段伪指令的使用。.texttext初始化值为初始化值为初始化值为初始化值为1 1 1 1,2 2 2 2,3 3 3 3,4 4 4 4,5 5 5 5,6 6 6 6,7 7 7 7,8 8 8 8的字;的字;的字;的字;.datadata初始化值为初始化值为初始化值为初始化值为9 9 9 9,10101010,11111111,12121212,13131313,14141414,15151515,16161616的字;的字;的字;的字;var_defsvar_defs初始化值为初始化值为初始化值为初始化值为17171717,18181818的字;的字;的字;的字;.bssbss保留保留保留保留19191919个字的空间;个字的空间;个字的空间;个字的空间;.usectusect保留保留保留保留20202020个字的空间。个字的空间。个字的空间。个字的空间。1 1 1 1定义段的伪指令定义段的伪指令定义段的伪指令定义段的伪指令 .bssbss和和和和.usectusect伪伪伪伪指指指指令令令令既既既既不不不不结结结结束束束束当当当当前前前前的的的的段段段段也也也也不不不不开开开开始始始始新新新新段段段段,它它它它们们们们保保保保留留留留指指指指定定定定数数数数量量量量的的的的空空空空间间间间,然然然然后后后后汇汇汇汇编编编编器器器器开开开开始始始始将将将将代代代代码码码码或或或或数数数数据据据据汇汇汇汇编进当前的段。编进当前的段。编进当前的段。编进当前的段。20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1010第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.4.34.4.34.4.34.4.3 汇编伪指令汇编伪指令汇编伪指令汇编伪指令 2 2 2 2初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令 用于为当前的段汇编常数值。用于为当前的段汇编常数值。用于为当前的段汇编常数值。用于为当前的段汇编常数值。助记符及语法格式助记符及语法格式助记符及语法格式助记符及语法格式 说说说说 明明明明 .byte value,byte value,value,value 初始化当前段里的一个或多个连续字。每个值的宽度被限制为初始化当前段里的一个或多个连续字。每个值的宽度被限制为初始化当前段里的一个或多个连续字。每个值的宽度被限制为初始化当前段里的一个或多个连续字。每个值的宽度被限制为8 8位。位。位。位。即把即把即把即把8 8位的值放入当前段的连续字。位的值放入当前段的连续字。位的值放入当前段的连续字。位的值放入当前段的连续字。.char value,char value,value,value 初始化当前段里的一个或多个连续字。每个值的宽度被限制为初始化当前段里的一个或多个连续字。每个值的宽度被限制为初始化当前段里的一个或多个连续字。每个值的宽度被限制为初始化当前段里的一个或多个连续字。每个值的宽度被限制为8 8位。位。位。位。即把即把即把即把8 8位的值放入当前段的连续字。位的值放入当前段的连续字。位的值放入当前段的连续字。位的值放入当前段的连续字。.field field value,size in value,size in bitsbits 初始化一个可变长度的域。将单个值放入当前字的指定位域中。初始化一个可变长度的域。将单个值放入当前字的指定位域中。初始化一个可变长度的域。将单个值放入当前字的指定位域中。初始化一个可变长度的域。将单个值放入当前字的指定位域中。.float value,float value,valuevalue 初始化一个或多个初始化一个或多个初始化一个或多个初始化一个或多个IEEEIEEE的单精度的单精度的单精度的单精度(32(32位位位位)浮点数,即计算浮点数的浮点数,即计算浮点数的浮点数,即计算浮点数的浮点数,即计算浮点数的 单精度单精度单精度单精度(32(32位位位位)IEEEIEEE浮浮浮浮 .xfloat value,xfloat value,valuevalue 初始化一个或多个初始化一个或多个初始化一个或多个初始化一个或多个IEEEIEEE的单精度的单精度的单精度的单精度(32(32位位位位)浮点数,即计算浮点数的浮点数,即计算浮点数的浮点数,即计算浮点数的浮点数,即计算浮点数的 单精度单精度单精度单精度(32(32位位位位)IEEEIEEE浮点表示,并将它保存在当前段的两个连续的浮点表示,并将它保存在当前段的两个连续的浮点表示,并将它保存在当前段的两个连续的浮点表示,并将它保存在当前段的两个连续的 字中。不自动对准最接近的长字边界。字中。不自动对准最接近的长字边界。字中。不自动对准最接近的长字边界。字中。不自动对准最接近的长字边界。20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1111第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具2 2 2 2初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令 助记符及语法格式助记符及语法格式助记符及语法格式助记符及语法格式 说说说说 明明明明 .int value,int value,value,value 初始化一个或多个初始化一个或多个初始化一个或多个初始化一个或多个1616位整数。位整数。位整数。位整数。即把即把即把即把1616位的值放到当前段的位的值放到当前段的位的值放到当前段的位的值放到当前段的 连续的字中。连续的字中。连续的字中。连续的字中。.short value,short value,value ,value 初始化一个或多个初始化一个或多个初始化一个或多个初始化一个或多个1616位整数。位整数。位整数。位整数。即把即把即把即把1616位的值放到当前段的连续的字中。位的值放到当前段的连续的字中。位的值放到当前段的连续的字中。位的值放到当前段的连续的字中。.word value,word value,value,value 初始化一个或多个初始化一个或多个初始化一个或多个初始化一个或多个1616位整数。位整数。位整数。位整数。即把即把即把即把1616位的值放到当前段的连续的字中。位的值放到当前段的连续的字中。位的值放到当前段的连续的字中。位的值放到当前段的连续的字中。.double value,double value,value,value 初始化一个或多个双精度初始化一个或多个双精度初始化一个或多个双精度初始化一个或多个双精度(64(64位位位位)浮点数。浮点数。浮点数。浮点数。即计算浮点数的单精度即计算浮点数的单精度即计算浮点数的单精度即计算浮点数的单精度(32(32位位位位)浮点表示,浮点表示,浮点表示,浮点表示,并将它存储在当前段的并将它存储在当前段的并将它存储在当前段的并将它存储在当前段的2 2个连续的字中。个连续的字中。个连续的字中。个连续的字中。该伪指令自动对准长字边界。该伪指令自动对准长字边界。该伪指令自动对准长字边界。该伪指令自动对准长字边界。.long value,long value,value,value 初始化一个或多个初始化一个或多个初始化一个或多个初始化一个或多个3232位整数。位整数。位整数。位整数。即把即把即把即把3232位的位的位的位的值放到当前段的值放到当前段的值放到当前段的值放到当前段的2 2个连续的字中。个连续的字中。个连续的字中。个连续的字中。.string string“string string,“stringstring”初始化一个或多个字符串。初始化一个或多个字符串。初始化一个或多个字符串。初始化一个或多个字符串。把把把把8 8位字符从位字符从位字符从位字符从一个或多个字符串放进当前段。一个或多个字符串放进当前段。一个或多个字符串放进当前段。一个或多个字符串放进当前段。20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1212第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.34.4.3】比比比比较较较较.bytebyte,.int.int,.long.long,.xlong.xlong,.float.float,.xfloat.xfloat,.word.word和和和和.stringstring伪指令。伪指令。伪指令。伪指令。源程序:源程序:源程序:源程序:.byte.byte.byte.byte 0AAh0AAh0AAh0AAh,0BBh0BBh0BBh0BBh .word.word.word.word 0CCCh0CCCh0CCCh0CCCh .xlong.xlong.xlong.xlong 0EEEEFFFh0EEEEFFFh0EEEEFFFh0EEEEFFFh .long.long.long.long 0EEEEFFFFh0EEEEFFFFh0EEEEFFFFh0EEEEFFFFh .int.int.int.int 0DDDDh0DDDDh0DDDDh0DDDDh .xfloat.xfloat.xfloat.xfloat 1.999991.999991.999991.99999 .float.float.float.float 1.999991.999991.999991.99999 .string.string.string.string “helphelphelphelp”.byte:.byte:将将将将一一一一个个个个或或或或多多多多个个个个8 8位位位位值值值值放放放放入入入入当当当当前前前前段的连续字中。段的连续字中。段的连续字中。段的连续字中。wordword 15 0 15 00,10,1 0 0 0 0 A AA A 0 0 0 0 B BB B .word:.word:将将将将一一一一个个个个或或或或多多多多个个个个1616位位位位值值值值放放放放入入入入当当当当前段的连续字中。前段的连续字中。前段的连续字中。前段的连续字中。2 2 0 0 C C CC C C .xlong:.xlong:将将将将3232位位位位值值值值放放放放入入入入当当当当前前前前段段段段的的的的2 2个个个个连续的字中,先存最高有效位。连续的字中,先存最高有效位。连续的字中,先存最高有效位。连续的字中,先存最高有效位。3,43,4 0 0 E E EE E E E F F FE F F F .long:.long:将将将将3232位位位位值值值值放放放放入入入入当当当当前前前前段段段段的的的的2 2个个个个连连连连续的字中,先存最高有效位。续的字中,先存最高有效位。续的字中,先存最高有效位。续的字中,先存最高有效位。6,76,7 E E E EE E E E F F F FF F F F .int:.int:将将将将一一一一个个个个或或或或多多多多个个个个1616位位位位值值值值放放放放入入入入当当当当前前前前段的连续的字中。段的连续的字中。段的连续的字中。段的连续的字中。8 8 D D D DD D D D .xfloat:.xfloat:初初初初始始始始化化化化单单单单精精精精度度度度(32(32位位位位)浮浮浮浮点点点点数数数数,并保存在当前段的两个连续的字中。并保存在当前段的两个连续的字中。并保存在当前段的两个连续的字中。并保存在当前段的两个连续的字中。9,9,A A 3 3 F F FF F F F F A CF F A C .float:.float:初初初初始始始始化化化化单单单单精精精精度度度度(32(32位位位位)浮浮浮浮点点点点数数数数,并保存在当前段的两个连续的字中。并保存在当前段的两个连续的字中。并保存在当前段的两个连续的字中。并保存在当前段的两个连续的字中。C,DC,D 3 3 F F FF F F F F A CF F A C .string:.string:将将将将一一一一个个个个或或或或多多多多个个个个字字字字符符符符串串串串中中中中的的的的8 8位位位位字符放入字符放入字符放入字符放入当前段中。当前段中。当前段中。当前段中。heE,FE,F 0 0 0 0 6 8 6 8 0 0 0 6 5 0 6 5lp10,1110,11 0 0 0 0 6 C 6 C 0 0 0 7 0 0 7 020242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1313第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具列表文件:列表文件:列表文件:列表文件:1 1 1 1 000000000000000000000000 00aa00aa00aa00aa .byte 0AAh.byte 0AAh.byte 0AAh.byte 0AAh,0BBh0BBh0BBh0BBh 000001000001000001000001 00bb00bb00bb00bb2 2 2 2 000002000002000002000002 0ccc0ccc0ccc0ccc .word 0CCCh.word 0CCCh.word 0CCCh.word 0CCCh3 3 3 3 000003000003000003000003 0eee0eee0eee0eee .xlong 0EEEEFFFh.xlong 0EEEEFFFh.xlong 0EEEEFFFh.xlong 0EEEEFFFh 000004000004000004000004 efffefffefffefff4 4 4 4 000006000006000006000006 eeeeeeeeeeeeeeee .long 0EEEEFFFFh.long 0EEEEFFFFh.long 0EEEEFFFFh.long 0EEEEFFFFh 000007000007000007000007 ffffffffffffffff5 5 5 5 000008000008000008000008 dddddddddddddddd .int 0DDDDh.int 0DDDDh.int 0DDDDh.int 0DDDDh6 6 6 6 000009000009000009000009 3fff3fff3fff3fff .xfloat 1.99999.xfloat 1.99999.xfloat 1.99999.xfloat 1.99999 00000a00000a00000a00000a ffacffacffacffac7 7 7 7 00000c00000c00000c00000c 3fff3fff3fff3fff .float 1.99999.float 1.99999.float 1.99999.float 1.99999 00000d00000d00000d00000d ffacffacffacffac8 8 8 8 00000e00000e00000e00000e 0068006800680068 .string.string.string.string“helphelphelphelp”00000f00000f00000f00000f 0065006500650065 000010000010000010000010 006c006c006c006c 000011000011000011000011 0070007000700070 .long:.long:自动对准最近长字边界自动对准最近长字边界自动对准最近长字边界自动对准最近长字边界 .xlong:.xlong:不自动对准长字边界不自动对准长字边界不自动对准长字边界不自动对准长字边界.float:.float:自动对准最近长字边界自动对准最近长字边界自动对准最近长字边界自动对准最近长字边界 .xfloat:.xfloat:不自动对准长字边界不自动对准长字边界不自动对准长字边界不自动对准长字边界20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1414第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具2 2 2 2初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令.fieldfield伪指令:伪指令:伪指令:伪指令:功能:功能:功能:功能:将单个数值放进当前字的指定位域中。将单个数值放进当前字的指定位域中。将单个数值放进当前字的指定位域中。将单个数值放进当前字的指定位域中。采采采采用用用用.fieldfieldfieldfield伪伪伪伪指指指指令令令令,可可可可以以以以将将将将多多多多个个个个字字字字段段段段或或或或域域域域打打打打包包包包成成成成单个字,直到字被填满为止,汇编器不增加单个字,直到字被填满为止,汇编器不增加单个字,直到字被填满为止,汇编器不增加单个字,直到字被填满为止,汇编器不增加SPCSPCSPCSPC。指令格式:指令格式:指令格式:指令格式:.fieldfield valuevalue ,size in bitssize in bits 单个数值单个数值单个数值单个数值当前字的指定位域当前字的指定位域当前字的指定位域当前字的指定位域20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1515第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具2 2 2 2初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令初始化常数的伪指令 .fieldfield伪指令的使用。伪指令的使用。伪指令的使用。伪指令的使用。源程序:源程序:源程序:源程序:.field 5,3.field 5,3.field 5,3.field 5,3 .field 9,6field 9,6field 9,6field 9,6 .field 16,5 .field 16,5 .field 16,5 .field 16,5 .field 01234h,20field 01234h,20field 01234h,20field 01234h,20 .field 01234h,32field 01234h,32field 01234h,32field 01234h,32 .field 5,3.field 5,3.field 5,3.field 5,3 .field 9,6.field 9,6.field 9,6.field 9,6 .field 16,5.field 16,5.field 16,5.field 16,5 .field 01234h,20.field 01234h,20.field 01234h,20.field 01234h,20 1515 1414 1313 1212 1111 1010 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 01 0 11 0 10 0 1 0 0 10 0 1 0 0 11 0 0 0 01 0 0 0 0 1515 1414 1313 1212 1111 1010 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 00 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1515 1414 1313 1212 1111 1010 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 00123h0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 10 0 0 0 0 0 0 1 0 0 1 0 0 0 1 14h0 1 0 00 1 0 0 .field 01234h,32.field 01234h,32.field 01234h,32.field 01234h,320 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1515 1414 1313 1212 1111 1010 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 1515 1414 1313 1212 1111 1010 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 00 0 0 1 0 0 1 0 0 0 1 1 0 1 0 00 0 0 1 0 0 1 0 0 0 1 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0A000hA000hA000hA000hA480hA480hA480hA480hA4C0hA4C0hA4C0hA4C0h0123h0123h0123h0123h4000h4000h4000h4000h0000h0000h0000h0000h1234h1234h1234h1234h20242024年年8 8月月4 4日日DSPDSP原理及应用原理及应用1616第第第第第第4 4 4 4 4 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具【例例例例4.4.44.4.4】.fieldfield伪指令的使用。伪指令的使用。伪指令的使用。伪指令的使用。汇编后的列表文件:汇编后的列表文件:汇编后的列表文件:汇编后的列表文件:4 4 4 4 000000000000000000000000 A000A000A000A000 .field 5,3.field 5,3.field 5,3.field 5,3 5 5 5 5 000000000000000000000000 A480A480A480A480 .field 9,6.field 9,6.field 9,6.field 9,6 6 6 6 6 000000000000000000000000 A4C0A4C0A4C0A4C0 .field 16,5.field 16,5.field 16,5.field 16,5 7 7 7 7 000001000001000001000001 0123012301230123 .field 01234h,20field 01234h,20field 01234h,20field 01234h,20 000002000002000002000002 4000400040004000 8 8 8 8 000003000003000003000003 0000000000000000 .field 01234h,32field 01234h,32field 01234h,32field 01234h,32 000004000004000004000004 1234123412341234组成一个字组成一个字组成一个字组成一个字,不改变不改变不改变不改变SPCSPCSPCSPC。
展开阅读全文