《2022年附《IDE环境出错信息说明》 .pdf》由会员分享,可在线阅读,更多相关《2022年附《IDE环境出错信息说明》 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、附录 4- 399附录 4 nSP?编译相关错误信息汇编器 Xasm16 在对 nSP?的指令进行汇编过程中可能会出现的错误信息如下:A0000: Syntax error 语法错误。当某一指令或表达式不符合Xasm16 规定的格式时会出现此信息。A0001: already defined 某符号已被定义过,不能对其重复定义。A0002: Bad use of local symbol局部符号不能被用作宏名、程序名、段名、结构名、结构变量名以及常量名。A0003: Bad use of keyword指令或伪指令中的关键字不能被任意用作符号。A0004: already defined 某局
2、部符号与前面已定义过的符号同名,符号不允许被重复定义。A0005: Local symbolcan not be declared as external 局部符号只能用在局部区域,故其不能被声明为外部符号。A0006: Illegal forward reference or symbol 变量在引用前须经定义,不可超前引用。A0007: . undefined 引用的符号未经定义。A0008: Local symbol . cant be declared as public 局部符号只能用在局部区域,故其不能被声明为全局符号。A0009: . cant be declared as pu
3、blic-wrong type 某符号已被定义成常量,故其不能再被声明为全局变量符号。A0010: . cant be declared as public because its defined with VAR某符号已用伪指令VAR 被定义为常量,故其不能再被声明为全局符号。A0011: . should represent a number 宏调用中引用的参量应为常数。A0020: File . can not be opened 指定的文件访问不到或不能被打开,可能是文件名输入有误。A0021: Include inside a macro 在宏定义中含有Include 的操作。A00
4、30: Bad use of macro name . 使用的宏名不符合Xasm16 规定的使用方式。A0031: Cant define a macro inside another macro 在宏定义里不允许嵌套定义另一个宏。A0032: IFMA used outside macro 伪指令 IFMA须与伪指令MACRO 、ENDM 一起使用,不允许将其用在宏定义外。A0033: Cant define a macro inside the definition of a structure 在一个结构定义里不允许定义宏。A0034: Bad declaration of dummy
5、parameters 宏定义中声明的伪参量不符合Xasm16 规定的格式。A0035: Bad representation of real parameters 实参的表述与声明的形参不匹配。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 附录 4- 400A0036: ENDM expected before end of file 源文件中伪指令ENDM 与 MACRO 的数目不匹配。A0050: Bad use of s
6、ection name . 使用的段名不符合Xasm16 规定的使用方式。A0051: Cant define more than . sections Xasm16 规定段数最多为4096,使用时不可超过此限制。A0052: Instruction or data emitted with no section 所有指令和数据都必须定位在某个段内。A0053: Symbol defined with no section 标号应定义在段内。A0060: Number overflow 使用的数字值已超出其类型限制。A0061: Cant add two address expressions
7、 Xasm16 中不允许将两个地址表达式相加。A0062: Cant subtract two address expressions that belong to different sections Xasm16 中仅允许将两个属于相同段的地址表达式相减,而属于不同段的地址表达式则被禁之。A0063: Cant subtract a number expression with an address expression Xasm16 中不允许将一个数字表达式与一个地址表达式相减。A0064: Operator (!, %, &, *, -, /, , |, , ), number exp
8、ression expected 以上操作符只能用在数字表达式中。A0065: Divided by zero 除法中除数不可为零。A0066: Bad use of external symbol 外部变量使用有误。A0067: Operator (%, &, , |, , ), illegal operand type of float 以上操作符不可直接用在单精度浮点型操作数中。A0080: Illegal conditional assembly 条件编译的格式有误。A0090: Missing field name in structure definition 结构定义中未定义其域
9、(结构体成员)名。A0091: Field name . already defined 结构定义中的某域名已被定义,不可重复定义。A0092: . not a valid field name 结构定义中引用的域名未经定义。A0093: . is not a structure variable 引用的符号不是一个结构变量。A0094: Cant define a structure variable in another structure definition Xasm16 中不允许将某结构变量定义在另一个结构定义中。A0095: Bad use of structure name .
10、使用的结构名不符合Xasm16 规定的使用方式。A0096: Cant nest a structure definition inside another structure definition Xasm16 中不允许把一个结构嵌套定义在另一个结构定义中。A0097: Cant emit instruction into a structure definition 结构定义中不可传递指令。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - -
11、 - - - 附录 4- 401A0098: Define a field but not yet allocate memory for it 结构定义中声明的某成员变量未指明数据类型。A0099: ENDS expected before end of file 源文件中伪指令MACRO和 ENDM 的数目不均,需用一个ENDS 伪指令来均衡。A0100: Field . of . cant be re-initialized 结构体中那些用逗号(,)预留存储空间的域不能被初始化。A0101: Field . of . is re-initialized unsuccessfully 结构
12、体中那些用逗号(,)预留存储空间的域不能通过初始值列表而被初始化。A0102: Field . of . cant be re-initialized with a string 结构的某个域不可用一个字符串被重新初始化。A0103: The string is too long, and the field . of . is re-initialized unsuccessfully 引用在初始值列表中的初始值数目与结构定义中的域(成员变量)数不符。A0104: Cant define or switch a section inside the definition of a struc
13、ture 结构定义中不允许定义或切换定义某段。A0105: Include inside a structure definition 结构定义里不可包括文件。A0107: Cant use VAR to allocate memory in a structure definition 结构定义中不可使用伪指令VAR 来分配存储单元。A0110: Cant define a string with FLOAT 伪指令 FLOAT不可用来定义字符串。A0111: Left operand of DUP should not be negative 伪指令 DUP 左边的参数值表示的是存储单元重
14、复的数目,它不能是负数。A0112: . operand type doesnt match the directive of storage allocation 操作数太大,已超出存储类伪指令所能表达的数之范围。A0113: DB cant be used Xasm16 中禁用伪指令DB 来声明操作数类型,因为访问的数据里无8位字节型数。A0114: Bad use of Imm6 6 位立即数修饰符Imm6 不能用来修饰某一标号或外部符号。A0115: Bad use of A6 6 位地址修饰符A6 不能用来修饰数字表达式。A0116: Bad use of OFFSET 地址偏移量修
15、饰符OFFSET 不能用来修饰数字表达式。A0117: Bad use of SEG 段修饰符 SEG 不能用来修饰数字表达式。A0120: Cant nest a procedure definition in a structure definition Xasm16 规定,在结构定义里不可嵌套定义一段程序。A0121: Expect to switch back to the same section before ENDP 某个程序应定义在相同的一个段内。A0130: SEG cant modify number expression 段修饰符 SEG 不能用来修饰数字表达式。A013
16、1: OFFSET cant modify number expression 地址偏移量修饰符OFFSET 不能用来修饰数字表达式。A0132: A6 cant modify number expression 6 位地址修饰符A6 不能用来修饰数字表达式。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 附录 4- 402A0140: Address expected 函数调用指令须是调用某一函数名,该函数名代表的应是函数的起
17、始地址。A0141: Invalid loop counter, integer 1 to 16 expected 寄存器乘法求和指令中的循环计数器的值须是116 范围内的整数。A0142: BP or R5 register expected 在存储器间接寻址(即变址寻址)指令中,基址指针须是BP 或 R5。A0143: Source register and destination register should be the same 源寄存器应当与目标寄存器相同。A0144: Invalid BP offset, integer 0 to 63 expected 在存储器间接寻址(即变
18、址寻址)指令中,有效地址偏移量应是063 范围内的整数。A0145: Cant jump to external label Xasm16 规定,短跳转指令不可跳转到外部标号上。A0146: Cant jump to other section Xasm16 规定,短跳转指令不可跳转到处于其它段的标号上。A0147: Jump too far 短跳转指令的跳转限制在PC63 范围内。A0148: Float unexpected 浮点数不可用作指令中的操作数。A0149: Cant use Imm6 mode 指令中 6 位立即数寻址方式使用不当。A0150: Cant pop into R0
19、 or SP 在 Xasm16 中,不可把栈中数据弹入R0 或 SP寄存器中。A0151: Shift counter should be non-negative integer 1 to 4 寄存器移位指令的移位计数器之值应是14 范围内的整数。A0152: Cant use A6 mode 修饰符 A6 寻址方式下的操作数不可超出063 的整数范围。A0153: Source registers cant be same as destination register 在寄存器乘法指令(Mul )中,源寄存器不可与目标寄存器相同,且源寄存器不能是R3 或 R4。A0154: Addres
20、s expected Goto 指令后应为一个地址参量。A0155: Source registers cant be same as destination register 寄存器乘法求和指令(Muls)中的源寄存器与目标寄存器不可相同。A0156: Register PC cannot been used in this addressing mode 当目标/ 源寄存器为PC 时会出现此错误信息。A0157: Register SR cant been used in this addressing mode.当目标/ 源寄存器为SR 时会出现此错误信息。A0158: Register
21、 SP cant been used in this addressing mode.当目标/ 源寄存器为SP时会出现此错误信息。A0159: Invalid bit operation offset, integer 0 to 15 expected在位操作指令中 , 偏移量应当在整数015 范围内。A0160: Source register R4 or R3 was expected in 32-bit shift operation. 在 32 位移位操作指令中 , 只有R4 或 R3 能被使用。A0161: Destination register R2 was expected i
22、n exp instruction 在扩展操作指令中,只有R2 可以是目标寄存器。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 附录 4- 403A0162: Source register R4 was expected in exp instruction 在扩展操作指令中,只有R4 可以是源寄存器。链接器 Xlink16 、库管理器Xlib16 在运行过程中可能会出现的错误信息如下:L0000: MFC initiali
23、zation failed Xlink16 不能运行在当前操作平台上。本错误通常发生在MFC 库初始化过程中。L0010: Cannot Open the File . 指定的文件访问不到或不能被打开,可能是文件名输入有误。L0011: Link File . is Empty 链接文件中未含有任何关于重新定位的信息,可能是文件内容有误。L0012: Cannot Open the File ., Return from Make the Exe 当需生成可执行文件中相应的代码时,该文件不能被打开。L0013: Cannot Open the File ., Return from Make
24、the Symbol File 当需生成符号表文件时,相关的可执行文件不能被打开以写入相应的代码。L0014: File destroyed: . 文件被毁坏。L0020: Cant locate section automatically, please manually locate it 某段容量太大,已不能由Xlink16 自动定位,而只能由使用者手动定位。L0023: Cant locate . section at ram address 0-63. 段中变量数目太多,使其不能被定位在063 的 RAM 的里。L0031: The ram variables are too muc
25、h to be located RAM 中的变量数目太多,以致其地址不够分配。L0032: UnKnown Linker Option. 输入的链接任选项有误,Xlink16 无法识别。L0040: Cant find this body information in body file 在 body.dat 文件里找不到任何关于芯片型号的信息。L0041: No interrupt vector information in body file 为使中断向量被正确定位,body.dat 文件里应含有中断向量的地址信息。L0042: Page 0 hasn t enough space for
26、 init table 零页 ROM 中已没有足够的空间为程序代码定位。L0043: function hasn t been defined. 中断服务子程序尚未被定义。L0050: No object filename ARY 文件或其它链接文件中未输入要链接的目标文件名。L0051: Unwanted aqddress . 声明的某段地址尚未引用在任何文件里。L0052: Illegal Address . 链接文件中输入的段地址不符合Xlink16 规定的格式。L0053: Syntax error ARY 文件或其它链接文件的输入有语法错误。L0054: Not point out
27、object name for defined section 为某段重新命名时,未指明段所在的目标文件名。L0055: No redefined section name 为某段重新命名时,未指定新段名。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 附录 4- 404L0056: No address after the word At 为某段定位时,关键字At后应有一地址参量值。L0057: No section name
28、 after the word After in link file 为某段定位时,关键字After 后应有被定位段的段名。L0058: No address after the word LinkAt 为某段定位时,关键字LinkAt 后应有一个地址参量值。L0059: No section name after the word Linkafter 为某段定位时,关键字Linkafter 后应有被定位段的段名。L0060: The section . has not been located 在增强数据文件链接方式下某个未被定位的段将会被定位到0 x00 地址上。L0061: Define
29、 two times . 某全局符号在不同的目标文件或库文件中被重复定义了两次。L0062: The section . has not been defined at any obj file 引用的段尚未在任何目标文件中定义。L0063: Cant locate . section at addr . 本地址已被其它段占用,或已无合适的块单元可用来分配占用。L0064: The addr space of section . and . is overlapped 两个段产生了地址冲突。L0065: Text section is too big to fill in first bank
30、 零页中已无合适的块单元供Text 段分配占用。L0066: This Address . has be used by other section 本地址已被其它段占用。L0067: No address after the character “ with ” 为某段定义时,关键词“with ”后应有一个地址参量值。L0068: Illegal alignment , the value must be positive 参量值必须为正。L0069: The section has an ADDR directive 因为该段已使用ADDR 指定地址,将无法在Link 中再指定地址。L00
31、70: The section . has not been located before locate the section . after it 增强数据文件链接方式下,用来定位其它段的某段应首先被定位。L0071: The section . has not been located before locate the section . linkafter it 增强数据文件链接方式下,用来定位其它段的某段须经定位。L0080: The external symbol . has not a public definition 引用的某局部符号是定义在其它文件里的一个外部符号,而此符
32、号在其被定义的文件里未被声明为全局符号。L0100: . end address is little than start address in BODY file Body.dat 文件中的RAM 、ROM 或 I/O 口的结束地址小于其起始地址。L0111: Obj type is not Sunplus. The file may be corrupted. 指定的文件不是凌阳格式的目标文件,目标文件可能被毁坏。L0112: Obj file has been destroyed. Return from make exe file Xlink16 检测到目标文件已被毁坏,故不能生成所需
33、的可执行文件。L0113: This project need vector table/init table for IRAM/ISRAM section 因为在这个项目中有使用IRAM/ISRAM段,使用者是不可以下 “-novec” 参数给 Xlink16 。L0115: Section . is older obj file format. Please update resource compiler. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 -
34、 - - - - - - - - 附录 4- 405Section .是旧的目标文件格式。请更新资源编译器。L0116: Section in cross different bank. Section in 跨越了不同的页单元。L0120: The Library File . is not SunplusLib. The file may be corrupted 指定的文件不是凌阳格式的库文件,库文件可能已被毁坏。L0500: MFC initialization failedXlib16 不能运行在当前操作平台上。当 MFC 库被初始化时会出现此类错误。L0510: The secon
35、d argument must be a lib file 第二个参量须是凌阳格式的库文件,其文件扩展名应为.lib 。非凌阳格式的库文件不能被使用。L0511: No FIND argument 命令行中的FIND 命令无参变量。L0512: No ADD argument 命令行中的ADD 命令无参变量。L0513: No REP argument 命令行中的REP 命令无参变量。L0514: No DEL argument 命令行中的DEL 命令无参变量。L0515: Cant identify the command. 命令行中的命令格式有误。L0520: Read Lib Error
36、 读指定的库文件有误。L0521: Write Lib Error 写指定的库文件有误。L0522: Cant find the module. 在库文件中未能找到指定的程序模块。L0530: Cant open the file. 指定的库文件未能找到或打开,可能是文件名输入有误。L0531: File destroyed:. 库文件被毁坏,可能是文件名输入有误。L0532: The bTag is valid. The Obj file could has been destroyed 要链接的目标文件或库文件可能已被毁坏。L0540: The file . is not SunplusLib 指定的文件不是凌阳格式的库文件,库文件可能已被毁坏。L0541: Obj Type is not Sunplus 指定的文件不是凌阳格式的目标文件,目标文件可能已被毁坏。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -