Keil中的常见错误和警告

上传人:s****a 文档编号:117488077 上传时间:2022-07-08 格式:DOCX 页数:20 大小:46.20KB
收藏 版权申诉 举报 下载
Keil中的常见错误和警告_第1页
第1页 / 共20页
Keil中的常见错误和警告_第2页
第2页 / 共20页
Keil中的常见错误和警告_第3页
第3页 / 共20页
资源描述:

《Keil中的常见错误和警告》由会员分享,可在线阅读,更多相关《Keil中的常见错误和警告(20页珍藏版)》请在装配图网上搜索。

1、C51 编译器识别错类型有三种1、致命错误:伪指令控制行有错、命令行指定的无效选项、访问不存在的原文件或头文件 等。致命错误立即终止程序编译。2、语法及语义错误:语法和语义错误都发生在源文件中。有这类错误时,给出提示但不产 生目标文件,错误超过一定数量才终止编译。3、警告:警告出现并不影响目标文件的产生,但执行时有可能发生问题,程序员应斟酌处理。错误信息及可能发生的原因列表*ERROR 100:unprintable character 0x?skipped 源文件中发现非法字符(注意,注解内的字符不做检查)。*ERROR 101:unclosed string 字符串未用引号结尾。*ERRO

2、R 102:string too long字符串不得超过 511 个字符。为了定义更长的串,用户必须使用续行符逻辑的继续该 字符串,在词汇分析时遇到以该符号结尾的行会与下行连接起来.*ERROR 103: invalid character constant试图再声明一个已定义的宏,已存在的宏可以用#undef指令删除。预定义的宏不能删除。*ERROR 104: identifier expected 预处理器指令期望产生一个标示符,如 ifdef。*ERROR 105: unclosed comment 当注解无结束界定符(*/)时产生此错误。*EROOR 106: unbalanced#i

3、f-endif controlsendif的数量与if或ifdef的数量不匹配。*ERROR 107:include file nesting exceeds 9 include 指令后的文件名无效或丢失*ERROR 108:expected string,如#error “string” 预处理器指令期望一个串变量。*ERROR 109:由#error伪指令引入的错误信息以错误信号形式显示。*ERROR 110:missing directive 预处理行#后缺少伪指令。*ERROR 111:unknown directive 预处理行#后不是伪指令。*ERROR 112:misplaced

4、 elif*ERROR 113:misplaced else*ERROR 114:misplaced endif指令elif/else/endif只有在if、ifdef、ifndef指令内才是合法的。*ERROR 117:bad integer expressionif/elif指令的数值表达式有语法错误。*ERROR 118:missing(after macro identifier 宏调用中实参表的左括号丢失*ERROR 119:reuse of macro formal parameter 宏定义形参名重复使用*ERROR 120:Cunexpected in formal list形

5、参表中不允许有字符c应用逗号代替*ERROR 121:missing ) after actual parameter 宏调用实参表的右括号丢失*ERROR 122:illegal macro invocation 宏调用的实参表与宏定义中的形参表不同*ERROR 123:missing macro name after define#define 伪指令后缺预定义的宏*ERROR 124:expected macro formal parameter宏定义要求形参名*ERROR 125:declarater too complex说明过于复杂*ERROR 126:type-stack und

6、erflow对象的声明至多只能包含 20 个类型修饰符(【】, *,(),)错误 126 经常在错误 125 之 前,两者一起发生。*ERROR 127:invalid storage class 对象用无效的存储类所说明。当在函数外用 auto/register 存储时会发生这种情况。*ERROR 128:memory space: illegal memory space memory space used函数参数的存储类由存储模式(SMALL LARGE COMPACT)决定用户不能改变,使用不同于存 储模式的自动变量应该为静态的存储类*ERROR 129:missing ; befor

7、e token 该错误表示分号丢失,通常该错误会引发一连串的错误,引发的这些错误无关紧要。因为缺 少分号后编译器不能做正确的语法分析*ERROR 130:value out of rangeusing或interrupt指令后参数越限。using用的寄存器组号位0-3, interrupt需要0-15 的中断号*ERROR 131:duplicate function-parameter函数中形参名重复,形参名应彼此不同*ERROR 132:not in formal parameter list 函数内参数声明使用的名字未出现在参数表中*ERROR 133:char function(v0,

8、v1,v2)Char*v0,*v1,*v5;/ * v5在形参中未出现*ERROR 134:xdata/idata/pdata/data on function not permitted函数总是驻留于 0x5xxxx 的 code 存储区,不能位于 xdata/idata/pdata/data 空间*ERROR 135:bad storage class for bit位变量的定义可以接受static或extern的存储类,用REGIESTER和ALIEN都是非法的*ERROR 136:void on variablevoid类型只允许作为函数的返回类型或与指针类型合用(void*)*ERR

9、OR 137:illegal parameter type:function 函数参数的类型不能是函数,然而函数指针可以作为参数*ERROR 138:interrupt ()may not receive or return value (s)中断函数既不能有参数又不能有返回值*ERROR 139:illegal use of alien关键字 alien 将函数定义为 PL/M51 规定的过程与函数结构。这意味着 C 函数中有参数的 缩记符号(即funct();)时是不能用alien的*ERROR 140:bit in illegal memory-space位变量的定义可包含修饰符 DAT

10、A,如果无修饰符则假定为DATA。因为位变量始终位于0x4xxx的内部数据存储器中,当试图采用其他存储空间就会产生这个错误。*ERROR 141:NEAR:expected 编译器所见的单词是错误的。期望正确的单词*ERROR 142:invalid base addressSfr说明中的基址有错。有效基址为0x80-0xff。如果声明采用baseApos形式,则基址是8 的整数倍*ERROR 143:invalid absolute bit positionSbit说明中位地址必须在0x80-0xff之间*ERROR 144:baseApos:invalid bit positionSbit

11、 说明中位 pos 必须在 07 之间*ERROR 145:undeclared sfrSfr 未说明*ERROR 146:invalid sfr绝对位地址说明(baseApos)包含无效的基地址。这个基地址必须与sfr名相对应*ERROR 147:object too large对象不能超过65536 (64k)字节*ERROR 148:field not permitted in union 联合不能包含位成员,这个限制是由 8051 结构决定的。*ERROR 149:function member in struct/union 结构或者联合不能包含函数类型的成员。但是指向函数的指针是允

12、许的*ERROR 150:bit member in struct/union结构或者联合不能包含位类型的成员,这个限制是由8051 结构决定的*ERROR 151:self relative struct/union结构或者联合不能包含自身*ERROR 152:bit field type too small for number of bits位域声明中指定的位数超过所给原型中位的数量*ERROR 153:named bit-field cannot have 0 width命名的域宽度为 0 错误,只有未命名的位域允许是 0宽度*ERROR 154:pro to field无指向位域指针

13、的类型*ERROR 155:char/int required for fields位域基类型要求char或int类型,unsigned char或unsigned int也有效*ERROR 156:alien permitted on function onlyAlien 只能用于函数*ERROR 157:var_parms on alien function有变参数的函数不能用alien,因为PL/M51函数只能用固定数量的参数*ERROR 158:function contains unnamed parameter 函数定义的参数表中包含无名参数。无名参数只允许用于函数的原型中*ERR

14、OR 159:type follows void函数原型声明中可含一个空的参数表f (void)。Void后不能再用其他类型定义*ERROR 160:void invalidVoid类型只能与指针合用或表明函数没有返回值*ERROR 161:formal parameter ignored函数内的外部函数引用声明使用了无类型的参数表。例如“ extern(a,b,c);”要求形参表*ERROR 162:duplicate function-parameter函数内参数名重复*ERROR 163:unknown array size 一般的不管是一维数组还是多维数组或外部数组,都需要指定数组的大

15、小,这个大小是由编 译器的初始化时计算,这个错误表明试图为一个未定维的数组使用 sizeof 运算符,会哦着个多维数组的附加元素未定义。*ERROR 164:ptr to null 这一个错误通常是由前一个错误造成的*ERROR 165:ptr to bit指向位的指针不是合法的类型*ERROR 166:array of function 数组不能包含函数,但可能包含指向函数的指针。*ERROR 167:array of fields 位域不能安排为数组*ERROR 168:array of bit数组没有位类型*ERROR 169:function returns function 函数不能

16、返回函数,但可以返回一个指向函数的指针*ERROR 170:function returns array 函数不能返回数组,但可返回指向数组的指针*ERROR 171:missing enclosing swithBreak/continue 语句只能出现在 for,while,do while或 switch 语句中间。*ERROR 172:missing enclosing swithCase 语句只能用在 switch 语句中*ERROR 173:missing return-expression返回类型不是 integer 的函数必须包含一条代表达式的 return 语句。由于要 与老

17、版本兼容,编译器对返回整形值的函数不做检查*ERROR 174:return-expression on void-functionVoid 函数不能返回值,因此不能包含带表达式 return 的语句*ERROR 175:duplicate case value每个 case 语句必须包含一个常量表达式做其变量,这个值不能在 switch 语 句的各级中出现多次*ERROR 176:more than one default*ERROR 177:*ERROR 178*ERROR 179*ERROR 180*ERROR 181*ERROR 182*ERROR 183*ERROR 184*ERRO

18、R 185*ERROR 186*ERROR 187*ERROR 188*ERROR 189*ERROR 190*ERROR 191*ERROR 192*ERROR 193*ERROR 193*ERROR 193*ERROR 193:different struct/union赋值或参数传递中使用了结构/联合的不同类型struct/union comparison illegal根据ANSI C,两个结构或联合的比较是不允许的cannot/cast from/to void-type将void类型转化为其他类型数据或将其他类型转化为void类型都是非法的cannot cast tofunctio

19、n转化为 function 是非法的,使用函数指针指向不同的函数incompatible operand在所给的运算符中至少有一个操作符类型是无效的point to different object报告指针使用不一致unmodifiable value预修改的对象位于 CODE 存储区,因而不能修改sizeof :illegal operandSizeof 运算符不能决定函数或位域大小different memory space对象说明的存储空间与前面的不一致invalid dereference这条错误信息可能由编译器内部问题产生的not an lvalue所需参量必须是可变对象的地址unk

20、nown object size无法计算对象的大小,因为缺少数组的维数或因为通过void指针的间接访问&on bit/sfr illegal地址操作符&不允许用于位对象或 sfr&:not an lvalue地质部是可变的对象,不能作为左值&on constant试图为所列类型常数建立指针&on array/function地址操作符&不允许用于数组或函数,函数和数组本身都代表了地址illegal op-type(s)illegal add/sub on ptrillegal operation on bit(s)bad operand type当一个表达式使用给定运算符的非法操作类型时就会出

21、现该错误,使用个定运算符的非法操作类型的无效的表达式,例如bit+bit,ptr+ptr,或ptr*。错误信息包括引 起错误的运算符。下列运算可使用位操作符赋值(=)OR/复合 OR (|, | =)AND/复合 AND (&,&=)XOR/复合 XOR (A,A=)位或常数的安位比较(= =,!=) 取反( )*ERROR 194:*indirection to object of unknown size间接操作符*不能用于void指针(void*),因为指针所指的对象的大小时未知的*ERROR 195:*illegal indirection 间接操作符*不能用于非指针变量*ERROR

22、196:mspace probably invalid 产生此警告是因为某些常数值赋给指针并且常数没有形成一个有效的指针值,有效的指针常数类型为long/unsigned long。编译器对指针对象采用24bit(3字节),低16 位表示偏移,高8位表示存储类的选择,在低字节中,值从1到5表明了 xdata/pdata/idata/data/ 和 code 的存储类*ERROR 197:illegal pointer assignment 试图将一个非法变量赋给指针,只有另一个指针或指针变量可以赋给指针*ERROR 198:size of returns zero求某些对象长度得到 0,如果对

23、象是外部的或一个数组中并非所有维的大小都 是已知时得到0,这时候该值可能是错的。*ERROR 199:left size of-requires struct/union pointer -操作符的左边变量必须是结构或变量*ERROR 200:left size of .requires struct/union 操作符的左边变量必须是结构/联合*ERROR 201:undefined struct/union tag所给的结构/联合标记名是未知的*ERROR 202:undefined identifier所给的标示符未定义*ERROR 203:bad storage class(namer

24、ef)该错误表示编译器的内部有问题*ERROR 204:undefined member所给的结构/联合成员名未定义*ERROR 205:cannot call an interrupt function 中断函数不能像普通函数那样调用,因为这种函数的头端和尾端是为中断特殊 编码的*ERROR 206:missing function-prototype调用的函数缺少原型说明*ERROR 207:declared with void parameter list用 void 参数说明的函数不接受调用者传来的参数*ERROR 208:too many actual parameter 函数调用包

25、含了多余的实参*ERROR 209:too few actual parameter函数调用时传递的实参过少*ERROR 210:too many nested calls超过了 10 个函数嵌套调用的极限*ERROR 211:call not to a function 函数调用时没有函数的地址或未对指向函数的指针赋值*ERROR 212:indirect call with parameter 由于参数传递方法的限制,通过指针的间接函数调用不能直接作为实参。这种 参数传递方法 要求被调用的函数名已知,因为参数的写入要被写入调用函数的数据段。然而 间接调用时函 数的的名字时未知的*ERROR

26、 213:left side of assign_op not an lvalue 在赋值操作符左边要求可变的对象*ERROR 214:cannot cast non_pointer to pointer 非指针不能转化为指针*ERROR 215:cannot cast pointer to not_int/pointer 指针可以转化为另一个指针或整数,但不能转化为其他类型*ERROR 216:subscript on non_array or too many dimensions 对非数组使用了下标或数组维数过多*ERROR 217:non_integral index 数组的下标表达式

27、必须是整型类型*ERROR 218:void_type in controlling expressionWhile,for 或 do while 语句中表达式不能是 void 类型*ERROR 219:long constant truncated to int 企图把长整型常量截断为整型数是错误的*ERROR 220:illegal constant expression 非法常量表达式*ERROR 221:non_constant case/dim expressionCase 值或下标值()要求用常量表达式*ERROR 222:div by zero*ERROR 223:mod by

28、zero 编译器检测到 0 除或 0 模的错误*ERROR 224:illegal operation on float/doubleAND 和 NOT 一类的运算符不允许作用于 float/double*ERROR 225:expression too complex ,simplify 表达式太复杂,必须简化*ERROR 226:duplicate struct/union/enum tag 结构/联合/枚举类型中有重复标记*ERROR 227:not a union tag 所给的标记名虽已定义,但不是联合的标记*ERROR 228:not a struct tag所给的标记名虽已定义,

29、但不是结构的标记*ERROR 229:not an enum tag所给的标记名虽已定义,但不是枚举的标记*ERROR 230:unknown struct/union/enum tag所给的结构/联合/枚举标记名未定义*ERROR 231:redefinition所给的名字已经定义,不能再定义*ERROR 232:duplicate label所给的标号已经订义*ERROR 233:undefined label 当对函数进行分析后,编译器检查到函数有未定义的标号,发出错误信息*ERROR 234:scope stack overflow(31)超过了最大为 31 个的功能嵌套极限,多余的块

30、被忽略*ERROR 235:parameter:different type 函数实参类型与函数原型中的不同*ERROR 236:different length of parameter lists 所给的函数是参量与函数原型中的不同Compling:C:8051LED.CError 237:LedOn:function already has a body/ 试图定义已经定义过的函数说明 LedOn( ) 函数名称重复定义,即有两个以上一样的函数名称,解决方法 修正其中的一个函数名称使得函数名称都是独立的。*ERROR 238:*ERROR 239:*ERROR 240:*ERROR 24

31、1:duplicate memberduplicate parameter 重复定义结构成员或函数参数 more than 128 local bits 位变量定义总数不能超过 128 auto segment too large局部对象要求的空间超过了该模式的最大值。最大栈长定义如下:SMALL-128节,COMPACT-256字节,LARGE-64ktoo many initializers 初始化对象超限 string out of bounds 串中字符数超过了字符数组要求初始化的字符数 cant initialize .bad type or class 试图初始化位或 sfr un

32、known pragma, line ignored 未知的 pragma 语句,因此该行被忽略 floating point error 本错误发生在浮点变量超过 32 位有效字长时, 32 位 IEEE 格式的浮点值的 取值范围是*ERROR 242:*ERROR 243:*ERROR 244:*ERROR 245:*ERROR 246:1.75494E-383.402832E+38*ERROR 247: non_address +/-constant initializer 有效的初始化表达式必须是非地址量+/-常量*ERROR 248: aggregate initialization

33、 needs curly braces 所有的组合变量(数组/结构或联合)初始化时要用花括号括起来*ERROR 249:segment:segment too large编译器检测到过大的数据段,最大数据段长取决于存储器空间*ERROR 250:esc;value exceeds 255串常数中esc转义序列的值超过有效域*ERROR 251:illegal octal digit 不是有效的八进制数字*ERROR 252:misplace primary control、line ignored一次性使用的编译控制伪指令必须在C模块开头指定,在#INCLUDE语句和变量说明之前*ERROR

34、253:internal ERROR(ASMGENCLASS)这种错误在以下情况下发生内部函数(如testbit)被不正确激活。它发生 在函数原型和实参表不存在匹配问题的时候。基于这个原因,头文件中的使用要适当(intrins.h,string.h) C51识别出存在内部一致性错误,请向您的销售代理商查询*ERROR 255:switch expression has illegal typeSwitch语句中的case语句必须具有类型(u)char,(u)int或(u) short,其他类型不允许(如bit)*ERROR 256:conflicting memory modelAlien属性

35、的函数只能使用SMALL模式。函数的参数必须位于内部数据存储空间*ERROR 257:alien function can not be reentrant“alien ”属性的函数不能同时具有“ reentrant ”属性,函数的参数不能通过重入栈传递,这也适用于外部“ alien ”声明和“ alien ”函数*ERROR 258:mspace illegal on struct/union member 不能为结构联合成员指定存储空间,但指向对象的指针可以*ERROR 259:pointer: different mspace 当为指针赋值或做指针比较时,指针未指向存储在同一存储空间的对

36、象时,会 产生错误或者警告。如:Char xdata *px;/*px to char in xdata memory*/Char code *pc;/*pc to char in code memory*/Void main() char c;If(px=pc)+c;/*warning 259*/*ERROR 260:pointer truncation指针转换时部分偏移量被截断,此时指针常量(如char xdata)转为一个具有 较小偏移区的指针(如 char idata)*ERROR 261:bit in reentrant function重入 函数不能包 含位变量 ,因为位变量 不能

37、存于 重入栈,而只 能位于MCS51CPU 的可位寻址存储区中如:Void test () reentrant bit b0;/*illegal*/Static bit b1;/*legal*/*ERROR 262:using/disable: function returns bit使用属性using选择寄存器组的函数或使用关中断(#pragma disable)功能的 函数不能返回bit 类型。如:Bit test ()using 3/*error 261*/ bit b0;return(b0);*ERROR 263:save-stack overflow/underflow“#praga

38、ma save”最大嵌套级为8级。Save和restore指令按FIFO原则工 作*ERROR 264:intrinsic:declaration/ activation error内部参数定义不正确*ERROR 265:recursive call to non_reentrant function发现非重入函数被递归调用。直接递归用生成代码可有效查出,间接递归调用 由 L51 发现L51 连接定位器使用错误提示Error 267 :DelayX1ms :requi-srteysle ApNroStIotype C:8051INPUT.C说明:程序中有调用 DelayX1ms 函数,但该函数

39、没定义即未编写程序内容或函 数已定义但未作声明解决方法:编写 DelayX1ms 的内容,编写完后也要作声明或作外部声明,可在 delay.h 的 包含文件声明成外部函数以便其它函数调用。Error 268:任务定义错误任务ID/优先级/using任务声明错误Error 271: asm/endasm 控制放错地方asm 和 endasm 声明不能嵌套 endasm 要求一个汇编块前面用 asm 开头例如#pragma asm汇编指令. #pragma endasmError 272: asm 要求激活 SRC 控制在一个源文件中使用 asm 和 endasm 要求文件用 SRC 控制编译那么

40、编译器就会 生成汇编源文件 然后可以用 A51 汇编Error 273: asm/endasm 在包含文件中不允许在包含文件中不允许 asm 和 endasm 为了调试在包含文件不能有任何的可执行代码Error 274: 非法的绝对标识符 绝对地址标识符对位目标函数和局部函数不允许地址必须和目标的存储空间一 致,例如下面的声明是无效的, idata int _at_ 0x1000; 因为间接寻址的范围是 0x00 到 0xFFError 278: 常数太大 当浮点参数超出 32 位的浮点值范围就产生本错误 32 位 IEEE 值的范围是 1.175494E-38 到3.402823E+38Er

41、ror 279: 试图多次初始化一个目标Error 280: 没有使用符号/标号/参数 在一个函数中声明了一个符号标号或参数但没有使用Error 281: 非指针类型转换为指针 引用的程序目标不能转换成一个指针Error 282: 不是一个 SFR 引用 本函数调用要求一个 SFR 作为参数Error 283: asmparms 参数不适合寄存器 参数不适合可用的 CPU 寄存器Error 284: 名称:在可覆盖空间函数不再可重入 一个可重入函数包含对局部变量的明确的存储类型标识符函数不再完全可重入Error 300: 注释未结束一个注释没有一个结束符*/Error 301: 期望标识符 一

42、个预处理器命令期望一个标识符Error 302: 误用#操作符字符操作符# 没有带一个标识符Error 303: 期望正式参数字符操作符# 没有带一个标识符表示当前所定义的宏的一个正式参数名Error 304: 错误的宏参数列表 宏参数列表没有一个大括号逗号分开的标识符列表Error 305: string/char 常数未结束 一个字符串活字符常数是无效的典型的后引号丢失Error 306: 宏调用未结束 预处理器在收集和扩展一个宏调用的实际的参数时遇到输入文件的结尾Error 307: 宏名称参数计算不匹配 在一个宏调用中实际的参数数目和宏定义的参数数目不匹配本错误表示指定了 太少的参数E

43、rror 308: 无效的整数常数表达式一个 if/elif 命令的数学表达式包含一个语法错误Error 309: 错误或缺少文件名在一个 include 命令中的文件名参数是无效的或没有Error 310: 条件嵌套过多 20 源文件包含太多的条件编译嵌套命令最多允许 20 级嵌套Error 311: elif/else 控制放错地方Error 312: endif 控制放错地方命令 elif else 和 endif 只有在 if ifdef 或 ifndef 命令中是合法的Error 313: 不能清除预定义的宏名称 试图清除一个预定义宏用户定义的宏可以用 #undef 命令删除预定义的

44、宏不能 清除Error 314: #命令语法错误 在一个预处理器命令中字符 # 必须跟一个新行或一个预处理器命令名例如 if/define/ifdefError 315: 未知的#命令名称预处理器命令是未知的Error 316: 条件未结束到文件结尾 endif 的数目和 if 或 ifdef 的数目不匹配Compling :C:8051MANN.CError:318:cant open file beep.h/ 不能打开文件文件名说明:在编译C:8051MANN.C程序过程中由于main.c用了指令# include “beep.h”,但 却找不到所致,解决方法编写一个 beep.h 的包含

45、文件并存入到 c:8051 的工作目录中Error 319:文件不是一个磁盘文件 指定的文件不是一个磁盘文件文件不能编辑Error 320: 用户自定义的内容本错误号未预处理器的#error命令保留#error命令产生错误号320送出用户 定义的错误内容终止编译器生成代码Error 321: 缺少字符在一个include命令的文件名参数中缺少结束符例女如#includestdio.hError 325: 正参名称重复一个宏的正参只能定义一次Error 326: 宏体不能以# 开始或结束Error 327: 宏名超过 50 个参数每个宏的参数数目不能超过 50L51 连接错误(与代码语法错误不同

46、)*ERROR101: SEGMENT COMBINATION ERRORSEGMENT:segment_nameMODULE:filename(modulename)由于连接错误所给段未能连入类型总段,并被忽略*ERROR102:EXTERN ATTRIBUTE MISMATCHSYMBOL:external_nameMODULE:filename(modulename)所给外部符号名属性错,并被忽略*ERROR103:EXTERN ATTRIBUTE DO NOTMATCH PUBLICSYMBOL:public_nameMODULE:filename(modulename) 所给外部符号

47、名属性与公用符号名不匹配,并被忽略*ERROR104:MUTIPULIC DEFINITIONSYMBOL:pulic_nameMODULE:filename(modulename) 所给公用符号重名*ERROR105:PUBLIC REFERS TO IGNORED SEGMENTSYMBOL:public_nameMODULE:filename(modulename) 所给外部符号名属性错,并被忽略*ERROR106: SEGMENT OVERFLOWSEGMENT:segment_name所给段长超过 64,未处理*ERROR 107:ADDESS SPACE OVERFLOWSPACE

48、: DATASEGMENT: _DATA_GOUP_LENGTH: 0018H说明:data存储空间的地址范围为00x7f,当公用变量数目和函数里的局部变量数量过多时, 如果存储模式设为 SMALL 则局部变量先使用工作寄存器 R2R7 作暂存,当存储器不够用 时则会以 data 型别的空间作暂存,当个数超过 0x7f 时就会出现地址不够的现象,解决方法将 以data 型类别定义的公共变量修改为 idata 型类别的定义。*ERROR107:ADDRESS SPACE OVERLAPSPACE:space_nameSEGMENT:segment_name 由于存储空间不够,所给类型总段未能装入

49、,已被忽略*ERROR108:SEGMENT IN LOCATING CONTROL CANNOTALLOCATED SEGMENT:segment_name命令行定位控制中的段由于属性问题未能分配 *ERROR109:EMPTY RELOCATABLE SEGMENTSEGMENT:segment_name 可在定位类型总段长度为零,未定位*ERROR110:CANNOT FIND SEGMENT SEGMENT:segment_name命令行所给的段在输入模块中未找到,被忽略*ERROR111:SPECIFIED BITADDRESS NOT ON BYTE MEMORY SEGMENT:

50、segment_name位地址不在字界上,位段被忽略*ERROR112:SEGMENT TYPE NOT LEGAL FOR COMMANDSEGMENT:segment_name 命令行所给的段类型非法,被忽略 *ERROR114:SEGMENT DOES NOT FITSPACE:space_name SEGMENT:segment_nameBASE:base_addressLENGTH: segment_length 由于所给段的长度或者基地址未定位,故被忽略 *ERROR115:INPAGE SEGMENT IS GREATER THAN 256 BYTESSEGMENT:segmen

51、t_name所给 INPAGE 属性的段长于 256 字节未能连入类型总段,并被忽略 *ERROR116:INBLOCK SEGMENT IS GREATER THAN 2048 BYTES SEGMENT:segment_name所给 INBLOCK 属性的段长于 2048 字节未能连入类型总段,被忽略 *ERROR117:BITADDRESSABLLE SEGMENT IS GREATER THAN 16 BYTE SEGMENT:segment_name所给 BITADDRESSABLE 属性的段长于 16 字节未能连入类型总段,被忽略 *ERROR118:REFERENCE MADE

52、TO ERRONEOUS EXTERNALSYMBOL:symbol_name MODULE:file_name(modulename)ADDRESS:code_address企图访问错误的外部程序地址,此错误常与 107 错误同时产生,详见 107 错误 *ERROR119:REFERENCE MADE TO ERRONEOUS SEGMENTSYMBOL:symbol_name MODULE:file_name(modulename)ADDRESS:code_address 企图访问错误段的程序地址*ERROR120:CONTENT BELONGS TO ERROREOUS SEGMENT

53、 SEGMENT:segment_nameMODULE:file_name(modulename) 该内容属于有错误的段*ERROR121:IMPROPER FIXUP MODULE:file_name(modulename)SEGMENTsegment_nameOFFSET:segment_name 根据所给段和偏移地址的到的是不当的地址*ERROR122:CANNOT FIND MODULE MODULE:file_name(modulename) 命令行所给的模块未能找到L51 致命错误*FATAL ERROR201:INVALID COMMAND LINE SYNTAXPartial

54、command line 命令行句法错。命令行显示到出错处。*FATAL ERROR202:INVALID COMMAND LINE ,TOKEN TOO LONGPartial command line 非法命令行,单词太长。命令行显示到出错处*FATAL ERROR203:EXPECTED ITEM MISSINGPartial command line 缺项。命令行显示到出错处。*FATAL ERROR204:INVALID KEYWORDPartial command line非法关键字*FATAL ERROR205:CONSTANT TOO LONGPartial command l

55、ine常量大于Oxffff。命令行显示到出错处。*FATAL ERROR206:INVALID CONSTANTPartial command line命令行常量无效(如16 进制数以字母开头)。命令行显示到出错处。*FATAL ERROR2O7:INVALID NAMEPartial command line 模块名或段名无效。命令行显示到出错处。*FATAL ERROR2O8:INVALID FILENAMEPartial command line 文件名无效。命令行显示到出错处。*FATAL ERROR2O9:FILE USED IN CONLICTING CONTEXTSFILE:fi

56、lename 所给的文件名用于有矛盾之处。命令行显示到出错处。*FATAL ERROR21O:I/O ERROR ON INPUT FILESystem error messageFILE:filename 访问输入文件时检测到有错,并有后面的 EXCEPTION 给出具体的错误描述 *FATAL ERROR211:I/O ERROR ON OUTPUT FILESystem error message FILE:filename 访问输出文件时检测到有错,并有后面的 EXCEPTION 给出具体的错误描述 *FATAL ERROR212:I/O ERROR ON LISTING FILESy

57、stem error messageFILE:filename 访问列表文件时检测到有错,并有后面的 EXCEPTION 给出具体的错误描述 *FATAL ERROR213:I/O ERROR ONWORK FILESystem error messageFILE:filename 访问工作文件时检测到有错,并有后面的 EXCEPTION 给出具体的错误描述 *FATAL ERROR214:I/O INPUT PHASE ERRORMODULE:filename(modulename)L51 在进行第二次扫描时遇到不同的数据发生该错误,可能是因汇编错误引起 *FATAL ERROR215:CH

58、ECK SUM ERRORMODULE:filename(modulename) 校验和与文件内容不一致*FATAL ERROR216:INSUFFICIENTMEMORYMODULE:filename(modulename) 执行 L51 的内存空间不够*FATAL ERROR217:NO MODULE TO BE PROCESSED 缺少应该被处理的模块*FATAL ERROR218:NOTAN OBJECT FILEFILE:filename 所给文件非目标文件*FATAL ERROR219:NOTAN 8051 OBJECT FILEFILE:filename 所给文件非 8051 目

59、标文件*FATAL ERROR220:INVALID INPUTMODULEFILE:filename 所给输入模块无效,可能是由汇编错误引起的*FATAL ERROR221:MODULE SPECIFIED MORE THAN ONCE Partial command line命令行上多次包含同一模块。命令行显示到出错处*FATAL ERROR222:SEGMENT SPEXIFIED MORE THAN ONCE Partial command line命令行上多次包含同一段。命令行显示到出错处*FATAL ERROR224:DUPLICATE KEYWORD OR CONFLICATIN

60、G CONTROLPartial command line 命令行上多次包含同一关键字或者存在相互矛盾的控制选项。命令行显示到出错处 *FATAL ERROR225:SEGMENTADDRESS ARE NOT IN ASCENDING ORDERPartial command line 定位控制的段地址未按照升序显示。命令行显示到出错处*FATAL ERROR226:SEGMENTADDRESS INVALID FOR CONTROL Partial command line定位控制的段的段地址无效。命令行显示到出错处*FATAL ERROR227:PARAMETER OUT RANGEPa

61、rtial command line所给 PAGEWIDTH 和 PAGELENGTH 参数越界。命令行显示到出错处*FATAL ERROR228:PARAMETER OUT RANGEPartial command line 命令行上 RAMSIZE 参数越界。命令行显示到出错处*FATAL ERROR229:INTERAL PROCESS ERRORPartial command lineL51 检测到内部处理错。请询问代理商*FATAL ERROR230:STRARTADDRESS SPECIFIED MORE THAN ONCEPartial command line 命令行上包含多个

62、未命名组段的起始地址。命令行显示到出错处*FATAL ERROR233:ILLEGAL USE OF *IN OVERLAY CONTROLPartial command line命令行 OVERLAY 定位选择非法使用了*号(如*!*或*)。命令行显示到出错处E.5 异常信息L51 某些错误的原因由系统的 EXCEPTION 给出。*EXCEPTION 0021:PATH OR FILE NOT FOUND 路径名或文件名未找到。*EXCEPTION 0026H:ILLEGAL FILE ACCESS 试图写或者删除写保护文件。*EXCEPTION 0029H:ACCESS FILE DENIED 所给的文件实际是目录。*EXCEPTION 002AH:I/O-ERROR 欲写的驱动器已满或未准备好。*EXCEPTION 0101H:ILLEGAL CONTEXT 命令行的语意非法。如对打印机进行读操作。警告

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!