keil 错误 C51编译器鉴别错类型
2011年08月15日
[b][/b]C51编译器鉴别错类型有三种
1、致命差错:伪指令操纵行有错,拜候不生活的原文件或头文件等。
2、语法及语义差错:语法和语义差错都发生在原文件中。有这类差错时,给出
提示但不出现标的目的文件,差错横跨肯定数量才终止编译。
3、戒备:戒备出现并不影响标的目的文件的出现,但推行时有可能发生题目。序次
员应商议经管。
D.1 致命差错
C_51 FATAL_ERROR
ACTION:
LINE:
ERROR: terminconsumedd
或C_51 FATAL ERROR
ACTION:
FILE:
ERROR: terminconsumedd
C_51 TERMINATED C_51
(1) ACTION 的有关音讯
*PARSING INVOKE-/#PRAGMA_LINE
在对#pragma 指明的操纵行作此法剖析时出错。失去。
*ALLOCATING MEMORY
体系分配存储空间时出错。编译较大序次必要512k空间。
*OPENING INPUT_FILE
掀开文件时,未找到或打不开源文件/头文件。
*CREATE LIST_FILE/OBJECT_FILE/WORK_FILE
不能成立上述文件。可能磁盘满或文件已生活而且写庇护。
*PARSING SOURCE_FILE/ANALYZING DECLARATIONS
剖析源序次时发掘外部援用名太多。
*GENERATING INTERMEDIATE CODE
源代码被翻译成外部伪代码,差错可能来源于[b]函数[/b]太大而横跨外部极限。
*WRITING TO FILE
在向文件(work-list-prelist或object file)写时发生差错。
(2)ERROR的有关音讯
*MEMORY SPACE EXHAUSTED
一起可用体系空间耗尽。至少必要512k 字节空间。没有足够空间,用户必需查验常驻内存
的驱动序次能否太多。
*FILE DOES NOT EXIST
FILE 行定的文本文件名未发掘。
*CAN’T CREAT FILE
FILE 行定义的文件不能被成立。
*SOURCE MUST COME FROMA DISK_FILE
源文件和头文件必需生活于硬盘或软盘上。操纵台、CON、CI 或近似配置不准许作为输入
文件。
*MORE THAN 256 SEGMENTS/PUBLICS/EXTERNALS
受OMF_51的历史限制,一个源序次不能横跨256个各种[b]函数[/b]的类型段,256个全局变量,
256 个公共定义或外部援用名。不行使为变量没关系裁减行使的段数。行使staroundic 存储类型说
明符可裁减全局变量的行使数目。合理调整定义性说明的身分可裁减外部援用名的行使数
目。
*FILEWRITE ERROR
当向list、prelist、work或object文件中写形式时,由于空间不够而发生差错。对于[b]keil[/b]。
*NON_NULLARGUMENT EXPECTED
所选的操纵参数必要一个括号内的变量,如一个文件夹或一个数。
*“(”AFTER CONTROL EXPECTED
变量的左括号丧失。
*“)”AFTER PARAMETER EXPECTED
变量的右括号丧失。
*RESPECIFIED OR CONFLICTING CONTROL
所选的操纵参数与后面发生争持或反复,例如CODE和NOCOND
*BAD DECIMAL NUMBER
操纵参数的数字含有犯科数,必要行使十进制数。
*OUT OF RANGE DECIMAL NUMBER
操纵参数的数字越界,例如OPTIMIZE 的参量为0-5。
*IDENTIFIER EXPECTED
操纵参数DEFINE 必要一个标识符做参量,与C措辞的规则相同。
*PARSE STACK OVERFLOW
剖析栈溢出。可能是源序次蕴涵特别纷乱的表达式,或效用块嵌套数横跨15。
*PREPOCESSOR: MACRO TO NESTED
宏扩展岁月,预经管器的栈耗用太大。解释宏嵌套太多,或有递归宏定义。
*PREPOCESSOR: LINE TOO LONG(510)
宏扩展先行横跨510个字符。
*CAN’T HAVE GENERAL CONTROL IN INVOCATION LINE
一般操纵(如EJECT)不能是命令行的一局限,应将它们放入源文件“pragma”预经管行
中。你知道错误。
D.2 语法及语义差错
D.2.1差错格式
这类差错在列表文件中出现如下格式的音讯:
***ERRORIN LINEOF:error messgeneraroundion
***WARINGIN LINEOF:warning messgeneraroundion
表示差错行;
表示源文件或头文件中与差错或戒备相关的行;
指明了差错所在的源文件或头文件;
D.2.2差错音讯及可能发生的原因
*ERROR100:unprintset chardeeder 0x??skipped
源文件中发掘犯科字符(小心,注解内的字符不做查验)。
*ERROR101:unclosed string
串未用引号末了。
*ERROR 102:string too long
串不得横跨511 个字符。为了定义更长的串,用户必需行使续行符‘\’逻辑的接续该串,
在词汇剖析时遇到以该符号末了的行会与下行连接起来。
*ERROR 103: invingid chardeeder constish
试图再声明一个已定义的宏,已生活的宏没关系用#undef指令删除。预定义的宏不能删除。
*ERROR 104: identifier expected
预经管器指令盼愿出现一个标示符,如ifdef。
*ERROR 105: unclosed comment
当注解无结局界定符(*/)时出现此差错。
*EROOR 106: unnicely stedriving instructornessd#if-endif controls
endif的数量与if或ifdef的数量不成婚。
*ERROR 107:include file nesting exceeds 9
include指令后的文件名有效或丧失
*ERROR 108: expected string-如#error “string”
预经管器指令盼愿一个串变量。
*ERROR 109:error text>
由#error 伪指令引入的差错音讯以差错信号形式出现。
*ERROR 110:missing directive
预经管行#后欠缺伪指令。
*ERROR 111:unknown directive
预经管行#后不是伪指令。
*ERROR 112:mispl_ webd ‘elif’
*ERROR 113:mispl_ webd ‘else’
*ERROR 114:mispl_ webd ‘endif’
指令 elif/else/endif 唯有在if、ifdef、ifndef指令内才是合法的。
*ERROR 117:proposingverse integer expression
if/elif指令的数值表达式有语法差错。
*ERROR 118:missing’(‘after mair conditioningro identifier
宏调用中实参表的左括号丧失
*ERROR 119:reuse of mair conditioningro forming pari ameter
宏定义形参名反复行使
*ERROR 120:‘C’unexpected in forming list
形参表中不准许有字符‘c’,应用逗号代庖
*ERROR 121:missing ‘)’after thectuing pari ameter
宏调用实参表的右括号丧失
*ERROR 122:illeging mair conditioningro invoc
宏调用的实参表与宏定义中的形参表不同
*ERROR 123:missing mair conditioningro ni ame after ‘define’
#define 伪指令后缺预定义的宏
*ERROR 124:expected mair conditioningro forming pari ameter
宏定义恳求形参名
*ERROR 125:declarconsumedr too complex
说明过于纷乱
*ERROR 126:type-stair conditioningk underflow
对象的声明至少只能蕴涵20 个类型修饰符(【】,*,(),)差错126 通常在差错125 之前,
两者一起发生。
*ERROR 127:invingid storgeneraroundion clrear end
对象用有效的存储类所说明。当在[b]函数[/b]外用motor vehicle/register 存储时会发生这种境况。
*ERROR 128:memory sp_ web: illeging memory sp_ web ‘memory sp_ web ’used
[b]函数[/b]参数的存储类由存储形式(SMALL LARGE COMPACT)肯定用户不能转换,行使不同
于存储形式的主动变量该当为动态的存储类
*ERROR 129:missing’ ;’until ‘token’
该差错表示分号丧失,对于错误。我不知道变态传奇无英雄。通常该差错会引发一连串的差错,引发的这些差错有关紧要。由于缺
少分号后编译器不能做无误的语法剖析
*ERROR 130:vingue out of ryou should beneficialge
using 或interrupt 指令后参数越限。using 用的存放器组号位0-3,interrupt 必要0-15 的中
断号
*ERROR 131:duplicconsumed function-pari ameter
[b]函数[/b]中形参名反复,形参名应相互不同
*ERROR 132:not in forming pari ameter list
[b]函数[/b]内参数声明行使的名字未出现在参数表中
*ERROR 133:char function(v0-v1-v2)
Char*v0-*v1-*v5;/ *’v5’在形参中未出现
*ERROR 134:xdarounda/idarounda/pdarounda/darounda on function not permitted
[b]函数[/b]总是驻留于0x5xxxx 的code存储区,不能位于xdarounda/idarounda/pdarounda/darounda 空间
*ERROR 135:proposingverse storgeneraroundion clrear end for while
位变量的定义没关系领受staroundic或extern的存储类,情绪。用REGIESTER和ALIEN 都是犯科的
*ERROR 136:‘void’on variset
‘void’类型只准许作为[b]函数[/b]的前往类型或与指针类型合用(void*)
*ERROR 137:illeging pari ameter type:’function’
[b]函数[/b]参数的类型不能是[b]函数[/b],然则[b]函数[/b]指针没关系作为参数
*ERROR 138:interrupt ()may not receive or return vingue (s)
中断[b]函数[/b]既不能有参数又不能有前往值
*ERROR 139:illeging use of ‘peculiar’
关键字peculiar 将[b]函数[/b]定义为PL/M51 端正的历程与[b]函数[/b]布局。这意味着C[b]函数[/b]中有参数的缩
记符号(即funct(…);)时是不能用peculiar的
*ERROR 140:听听生气 。while in illeging memory-sp_ web
位变量的定义可蕴涵修饰符DATA-借使无修饰符则假定为DATA。由于位变量永远位于
0x4xxx 的外部数据存储器中,当试图采用其他存储空间就会出现这个差错。
*ERROR 141:NEAR:expected
编译器所见的单词是差错的。盼愿无误的单词
*ERROR 142:invingid structure mtroubled mixress
Sfr 说明中的基址有错。有效基址为0x80-0xff。借使声明采用structure^pos 形式,则基址是8的
整数倍
*ERROR 143:invingid essentiing while position
Swhile 说明中位地址必需在0x80-0xff之间
*ERROR 144:structure^pos:错误。invingid while position
Swhile 说明中位pos必需在0~7之间
*ERROR 145:undeclunquestionabdominingly ared sfr
Sfr 未说明
*ERROR 146:invingid sfr
万万位地址说明(structure^pos)蕴涵有效的基地址。这个基地址必需与sfr 名绝对应
*ERROR 147:object too large
对象不能横跨(64k)字节
*ERROR 148:field not permitted in union
连结不能蕴涵位成员,这个限制是由8051布局肯定的。
*ERROR 149:function memyou should ber in struct/union
布局恐怕连结不能蕴涵[b]函数[/b]类型的成员。但是指向[b]函数[/b]的指针是准许的
*ERROR 150:while memyou should ber in struct/union
布局恐怕连结不能蕴涵位类型的成员,这个限制是由8051 布局肯定的
*ERROR 151:self relaroundive struct/union
布局恐怕连结不能蕴涵自身
*ERROR 152:while field type too smevery while of for numyou should ber of portions
位域声明中指定的位数横跨所给原型中位的数量
*ERROR 153:ni amed while-field cyou should beneficialnot haudio-videoe 0 width
命名的域宽度为0差错,唯有未命名的位域准许是0宽度
*ERROR 154:pro to field
无指向位域指针的类型
*ERROR 155:char/int required for fields
位域基类型恳求char 或int类型,unsigned char 或unsigned int 也有效
*ERROR 156:peculiar permitted on function only
Alien 只能用于[b]函数
[/b]*ERROR 157:错误。var_pforearm rests on peculiar function
有变参数的[b]函数[/b]不能用peculiar -由于PL/M51[b]函数[/b]只能用牢固数量的参数
*ERROR 158:function contains unni amed pari ameter
[b]函数[/b]定义的参数表中蕴涵知名参数。知名参数只准许用于[b]函数[/b]的原型中
*ERROR 159:type follows void
[b]函数[/b]原型声明中可含一个空的参数表f(void)。Void后不能再用其他类型定义
*ERROR 160:void invingid
Void类型只能与指针合用或解释[b]函数[/b]没有前往值
*ERROR 161:forming pari ameter ignored
[b]函数[/b]内的外部[b]函数[/b]援用声明行使了无类型的参数表。错误。例如“ extern(a-b-c);”恳求形参表
*ERROR 162:duplicconsumed function-pari ameter
[b]函数[/b]内参数名反复
*ERROR 163:unknown plethora size
一般的不论是一维数组还是多维数组或外部数组,都必要指定数组的大小,这个大小是由编
译器的初始化时计算,这个差错解释试图为一个未定维的数组行使sizeof运算符,会哦着一
个多维数组的附加元素未定义。
*ERROR 164:ptr to null
这一个差错通常是由前一个差错造成的
*ERROR 165:ptr to while
指向位的指针不是合法的类型
*ERROR 166:connected with function
数组不能蕴涵[b]函数[/b],但可能蕴涵指向[b]函数[/b]的指针。
*ERROR 167:connected with fields
位域不能安放为数组
*ERROR 168:connected with while
数组没有位类型
*ERROR 169:function returns function
[b]函数[/b]不能前往[b]函数[/b],但没关系前往一个指向[b]函数[/b]的指针
*ERROR 170:function returns plethora
[b]函数[/b]不能前往数组,但可前往指向数组的指针
*ERROR 171:missing enclosing swith
Break/continue 语句只能出现在for-while-do while或switch语句中心。
*ERROR 172:missing enclosing swith
Cautomotive service engineers语句只能用在switch语句中
*ERROR 173:对比一下情绪。missing return-expression
前往类型不是integer 的[b]函数[/b]必需蕴涵一条代表达式的return 语句。由于要与老版本兼容,
编译器对前往整形值的[b]函数[/b]不做查验
*ERROR 174:return-expression on void-function
Void [b]函数[/b]不能前往值,因而不能蕴涵带表达式return的语句
*ERROR 175:duplicconsumed cautomotive service engineers vingue
每个cautomotive service engineers 语句必需蕴涵一个常量表达式做其变量,这个值不能在switch 语句的各级中出现
屡次
*ERROR 176:more thyou should beneficial one default
Switch语句中不能蕴涵多于一个的default语句
*ERROR 177:different struct/union
赋值或参数传达中行使了布局/连结的不同类型
*ERROR 178:struct/union comparison illeging
根据ANSI C,两个布局或连结的斗劲是不准许的
*ERROR 179:cyou should beneficialnot/cbasicallyt from/to void-type
将void类型转化为其他类型数据或将其他类型转化为void类型都是犯科的
*ERROR 180:cyou should beneficialnot cbasicallyt to’function’
转化为function是犯科的,行使[b]函数[/b]指针指向不同的[b]函数
[/b]*ERROR 181:incomparoundible operbasically well basically
在所给的运算符中至少有一个操作符类型是有效的
*ERROR 182:point to different object
敷陈指针行使不一致
*ERROR 183:unmodifiset vingue
预编削的对象位于CODE 存储区,因而不能编削
*ERROR 184:sizeof :illeging operbasically well basically
Sizeof运算符不能肯定[b]函数[/b]或位域大小
*ERROR 185:different memory sp_ web
对象说明的存储空间与后面的不一致
*ERROR 186:invingid dereference
这条差错音讯可能由编译器外部题目出现的
*ERROR 187:not you should beneficial lvingue
所需参量必需是可变对象的地址
*ERROR 188:unknown object size
无法计算对象的大小,由于欠缺数组的维数或由于议决void指针的直接拜候
*ERROR 189:‘&’on while/sfr illeging
地址操作符‘&’不准许用于位对象或sfr
*ERROR 190:’&’:not you should beneficial lvingue
地质部是可变的对象,不能作为左值
*ERROR 191:‘&’on constish
试图为所列类型常数建立指针
*ERROR 192:‘&’on plethora/function
地址操作符&不准许用于数组或[b]函数[/b],[b]函数[/b]和数组自己都代表了地址
*ERROR 193:illeging op-type(s)
*ERROR 193:illeging mix/sub on ptr
*ERROR 193:illeging oper on while(s)
*ERROR 193:proposingverse operbasically well basically type
当一个表达式行使给定运算符的犯科操作类型时就会出现该差错,行使个定运算符的犯科操
作类型的有效的表达式,例如while+while-ptr+ptr-或ptr*。差错音讯包括惹起差错的运算符。
下列运算可行使位操作符
赋值(=)
OR/复合OR(|,|=)
AND/复合AND(&-&=)
XOR/复合XOR(^-^=)
位或常数的安位斗劲(= =-!=)
取反(~)
*ERROR 194:’*’indirection to object of unknown size
直接操作符*不能用于void指针(void*),由于指针所指的对象的大小时未知的
*ERROR 195:错误。’*’illeging indirection
直接操作符*不能用于非指针变量
*ERROR 196:msp_ web probabdominingly invingid
出现此戒备是由于某些常数值赋给指针并且常数没有酿成一个有效的指针值,有效的指针常
数类型为long/unsigned long。编译器对指针对象采用24while(3 字节),低16 位表示偏移,高
8 位表示存储类的选取,在低字节中,值从1 到5 解释了xdarounda/pdarounda/idarounda/darounda/和code 的存
储类
*ERROR 197:illeging pointer project
试图将一个犯科变量赋给指针,唯有另一个指针或指针变量没关系赋给指针
*ERROR 198:size of returns zero
求某些对象长度取得0,借使对象是外部的或一个数组中并非一起维的大小都是已知时取得
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:proposingverse storgeneraroundion clrear end(ni ameref)
该差错表示编译器的外部有题目
*ERROR 204:undefined memyou should ber
所给的布局/联分解员名未定义
*ERROR 205:cyou should beneficialnot cevery while of you should beneficial interrupt function
中断[b]函数[/b]不能像日常[b]函数[/b]那样调用,由于这种[b]函数[/b]的头端和尾端是为中断特殊编码的
*ERROR 206:missing function-prototype
调用的[b]函数[/b]欠缺原型说明
*ERROR 207:declunquestionabdominingly ared with ‘void’ pari ameter list
用void参数说明的[b]函数[/b]不领受调用者传来的参数
*ERROR 208:too myou should beneficialy essentiing pari ameter
[b]函数[/b]调用蕴涵了多余的实参
*ERROR 209:too few essentiing pari ameter
[b]函数[/b]调用时传达的实参过少
*ERROR 210:too myou should beneficialy nested cevery while ofs
横跨了10 个[b]函数[/b]嵌套调用的极限
*ERROR 211:cevery while of not to a plebasicallyursetction
[b]函数[/b]调用时没有[b]函数[/b]的地址或未对指向[b]函数[/b]的指针赋值
*ERROR 212:indirect cby haudio-videoi formaroundng pari ameter
由于参数传达措施的限制,议决指针的直接[b]函数[/b]调用不能直接作为实参。这种参数传达措施
恳求被调用的[b]函数[/b]名已知,由于参数的写入要被写入调用[b]函数[/b]的数据段。然则直接调用时[b]函
[/b][b]数[/b]的的名字时未知的
*ERROR 213:left side of give_op not you should beneficial lvingue
在赋值操作符左侧恳求可变的对象
*ERROR 214:cyou should beneficialnot cbasicallyt non_pointer to pointer
非指针不能转化为指针
*ERROR 215:cyou should beneficialnot cbasicallyt pointer to not_int/pointer
指针没关系转化为另一个指针或整数,但不能转化为其他类型
*ERROR 216:subaloneycript on non_plethora or too myou should beneficialy dimensions
对非数组行使了下标或数组维数过多
*ERROR 217:non_integring index
数组的下标表达式必需是整型类型
*ERROR 218:void_type in controlling expression
While-for 或do while语句中表达式不能是void类型
*ERROR 219:long constish truncconsumedd to int
企图把长整型常量截断为整型数是差错的
*ERROR 220:illeging constish expression
犯科常量表达式
*ERROR 221:non_constish cautomotive service engineers/dim expression
Cautomotive service engineers值或下标值([])恳求用常量表达式
*ERROR 222:div by zero
*ERROR 223:mod by zero
编译器检测到0 除或0 模的差错
*ERROR 224:illeging oper on floaround/double
AND 和NOT一类的运算符不准许作用于floaround/double
*ERROR 225:[b]keil[/b]。expression too complex -simplify
表达式太纷乱,必需简化
*ERROR 226:duplicconsumed struct/union/enum tag
布局/连结/枚举类型中有反复标志
*ERROR 227:not a union tag
所给的标志名虽已定义,但不是连结的标志
*ERROR 228:not a struct tag
所给的标志名虽已定义,但不是布局的标志
*ERROR 229:not you should beneficial enum tag
所给的标志名虽已定义,但不是枚举的标志
*ERROR 230:unknown struct/union/enum tag
所给的布局/连结/枚举标志名未定义
*ERROR 231:redefinition
所给的名字仍然定义,不能再定义
*ERROR 232:duplicconsumed labdominingel
所给的标号仍然订义
*ERROR 233:undefined labdominingel
当对[b]函数[/b]实行剖析后,编译器查验到[b]函数[/b]有未定义的标号,收回差错音讯
*ERROR 234:‘{’scope stair conditioningk overflow(31)
横跨了最大为31 个的效用嵌套极限,多余的块被轻视
*ERROR 235:pari ameter:different type
[b]函数[/b]实参类型与[b]函数[/b]原型中的不同
*ERROR 236:different length of pari ameter lists
所给的[b]函数[/b]是参量与[b]函数[/b]原型中的不同
*ERROR 237:function yet hbasically body
试图定义仍然定义过的[b]函数
[/b]*ERROR 238:duplicconsumed memyou should ber
*ERROR 239:duplicconsumed pari ameter
反复定义结组成员或[b]函数[/b]参数
*ERROR 240:想知道错误。more thyou should beneficial 128 locing while’s
位变量定义总数不能横跨128
*ERROR 241:motor vehicle segment too large
局部对象恳求的空间横跨了该形式的最大值。最大栈长定义如下:SMALL-128 字
节-COMPACT-256字节,LARGE-64k
*ERROR 242:too myou should beneficialy initiingizers
初始化对象超限
*ERROR 243:string out of ryou should beneficialge
串中字符数横跨了字符数组恳求初始化的字符数
*ERROR 244:cyou should beneficial’t initiingize .proposingverse type or clrear end
试图初始化位或sfr
*ERROR 245:unknown pragma- line ignored
未知的pragma 语句,因而该行被轻视
*ERROR 246:floarounding point error
本差错发生在浮点变量横跨32 位有效字长时,32 位IEEE 格式的浮点值的取值范畴是±
1.E-38~±3.E+38
*ERROR 247:non_mtroubled mixress +/-constish initiingizer
有效的初始化表达式必需是非地址量+/-常量
*ERROR 248:mergeitiingiz needs curly orthodontics
一起的组合变量(数组/布局或连结)初始化时要用花括号括起来
*ERROR 249:segment:segment too large
编译器检测到过大的数据段,最大数据段长取决于存储器空间
*ERROR 250:‘\esc’;vingue exceeds 255
串常数中\esc本义序列的值横跨有效域
*ERROR 251:illeging octing digit
不是有效的八进制数字
*ERROR 252:mispl_ web primary control、line ignored
一次性行使的编译操纵伪指令必需在C模块初步指定,在#INCLUDE 语句和变量说明之前
*ERROR 253:你知道生气 。interning ERROR(ASMGEN\CLASS)
这种差错在以下境况下发生⑴外部[b]函数[/b](如testwhile)被不无误激活。它发生在[b]函数[/b]原型和实
参表不生活成婚题目的时候。基于这个原因,头文件中的行使要适宜(intrins.h-string.h)。
⑵C51鉴别出生活外部一致性差错,请向您的出卖代理商查询
*ERROR 255:switch expression hwhen illeging type
Switch语句中的cautomotive service engineers语句必需具有类型(u)char-(u)int 或(u)short-其他类型不准许(如while)
*ERROR 256:conflicting memory model
Alien 属性的[b]函数[/b]只能行使SMALL形式。[b]函数[/b]的参数必需位于外部数据存储空间
*ERROR 257:peculiar function cyou should beneficial not you should be reentrish
“peculiar”属性的[b]函数[/b]不能同时具有“reentrish”属性,[b]函数[/b]的参数不能议决重入栈传达,这也
适用于外部“peculiar”声明和“peculiar”[b]函数
[/b]*ERROR 258:msp_ web illeging on struct/union memyou should ber
不能为布局联分解员指定存储空间,但指向对象的指针没关系
*ERROR 259:pointer: different msp_ web
当为指针赋值或做指针斗劲时,指针未指向存储在同一存储空间的对象时,会出现差错恐怕
戒备。如:
Char xdarounda *px;/*px to char in xdarounda memory*/
Char code *pc;/*pc to char in code memory*/
Void main()
{ char c;
If(px==pc)++c;/*warning 259*/
}
*ERROR 260:pointer trunc
指针转换时局限偏移量被截断,此时指针常量(如char xdarounda)转为一个具有较小偏移区的
指针(如char idarounda)
*ERROR 261:while in reentrish function
重入[b]函数[/b]不能蕴涵位变量,由于位变量不能存于重入栈,而只能位于MCS51CPU的可位寻
址存储区中如:
Void test () reentrish
{ while b0;/*illeging*/
Staroundic while b1;/*leging*/
}
*ERROR 262:’using/disset’: function returns while
行使属性using选取存放器组的[b]函数[/b]或行使关中断(#pragma disset)效用的[b]函数[/b]不能前往
while类型。如:
Bit test ()using 3/*error 261*/
{ while b0;
return(b0);
}
*ERROR 263:saudio-videoe-stair conditioningk overflow/underflow
“#pragi ama saudio-videoe”最大嵌套级为8 级。Saudio-videoe 和restore 指令按FIFO 原则作事
*ERROR 264:intrinsic:declar/ initiing error
外部参数定义不无误
*ERROR 265:recursive cevery while of to non_reentrish function
发掘非重入[b]函数[/b]被递归调用。直接递归用生成代码可有效查出,直接递归调用由L51 发掘
L51 连接定位器行使差错提示
1 戒备
戒备并不终止L51 的推行。这时出现的序次模块由序次员自己商议行使还是不行使。但是
此时的列表文件和屏幕出现可能异常有用。
2差错
差错并不终止L51 的推行。这时出现的模块是不能行使的。但是此时的列表文件和屏幕显
示可能异常有用。
3 致命差错
致命差错发生时马上终止L51 的推行。
1戒备
*WARNING1:UNSOLVED EXTERNAL SYMBOLS
SYMBOLS: externing_ni ame
MODULE: fileni ame (moduleni ame)
指定模块的外部符号在PUBLIC符号表中找不到
*WARNING2:REFERENCE MADE TO UNSOVED EXTERNAL
SYMBOLS: externing_ni ame
MODULE: fileni ame (moduleni ame)
ADDRESS:code_mtroubled mixress
拜候了未能成婚的外部符号code地址
*WARNING4:DATA SPACE MEMORY OVERLAP
FROM:byte-while-mtroubled mixress
TO: byte-while-mtroubled mixress
数据空间指定范畴出现笼罩
*WARNING5:CODE SPACE MEMORY OVERLAP
FROM:byte-while-mtroubled mixress
TO: byte-while-mtroubled mixress
序次空间指定范畴出现笼罩
*WARNING6:XDATA SPACE MEMORY OVERLAP
FROM:byte-while-mtroubled mixress
TO: byte-while-mtroubled mixress
外部数据空间指定范畴出现笼罩
*WARNING7:MODULE NAME NOT UNIQUE
MODULE:fileni ame(moduleni ame)
模块名重名。模块未经管
*WARNING8:MODULE NAME EXPLICITLY REQUESTED FROMANOTHER FILE
MODULE:fileni ame(moduleni ame)
其他文件指名恳求本模块名
*WARNING9:EMPTYABSOLUTE SEGMENT
MODULE:fileni ame(moduleni ame)
本模块蕴涵空的万万段,失去。因未定位,它可能在不通知的境况下随时被笼罩
*WARNING10:CANNOT DETERMINE ROOT SEGMENT
L51 对输入文件恳求分袂是C51还是PL/M文件,然后实行流程剖析,在无法确定的时候,
收回本戒备。它发生在主序次被汇编调用的时候,必要序次员用OVERLAP 特殊操纵选项
实行干涉干与
*WARNING11:CANNOT FIND SEGMENT OR FUNCTION NAME
NAME:overlap_control_ni ame
在标的目的模块中找不到OVERLAP操纵选项中端正的段恐怕[b]函数[/b]间调用
*WARNING12:NO REFERENCE BETWEEN SEGMENTS
SEGMENT1:segment_ni ame
SEGMENT2:segment_ni ame
试图用OVERLAP操纵选项删除从来不生活的段间拜候恐怕[b]函数[/b]间调用
*WARNING13:RECURSIVE CALL TO SEGMENT
SEGMENT:segment_ni ame
CALLER:segment_ni ame
CALLER段递归调用SEGMENT段。PL/M51和C51的非重入[b]函数[/b]不准许递归调用
*WARNING14:IMCOMPIABLE MEMORYMODEL
MODULE:fileni ame(moduleni ame)
MODEL:memory_model
指定模块试图与以前不同的存储形式编译。
*WARNING15:MULTICALL TO SEGMENT
SEGMENT:segment_ni ame
CALLER1:segment_ni ame
CALLER2:segment_ni ame
两个[b]函数[/b]调用同一个[b]函数[/b](如主[b]函数[/b]和中断[b]函数[/b]),参数和局部变量将被笼罩
*WARNING15:UNCALLED SEGMENT-IGNORED FOR OVERLAP PROCESS
SEGMENT:segment_ni ame
所给的段未被调用,已被排挤在笼罩历程之外。
L51差错
*ERROR101: SEGMENT COMBINATION ERROR
SEGMENT:segment_ni ame
MODULE:fileni ame(moduleni ame)
由于连接差错所给段未能连入类型总段,并被轻视
*ERROR102:EXTERN ATTRIBUTE MISMATCH
SYMBOL:externing_ni ame
MODULE:fileni ame(moduleni ame)
所给外部符号名属性错,并被轻视
*ERROR103:EXTERN ATTRIBUTE DO NOTMATCH PUBLIC
SYMBOL:public_ni ame
MODULE:fileni ame(moduleni ame)
所给外部符号名属性与公用符号名不成婚,并被轻视
*ERROR104:MUTIPULIC DEFINITION
SYMBOL:pulic_ni ame
MODULE:fileni ame(moduleni ame)
所给公用符号重名
*ERROR105:PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:public_ni ame
MODULE:fileni ame(moduleni ame)
所给外部符号名属性错,并被轻视
*ERROR106: SEGMENT OVERFLOW
SEGMENT:segment_ni ame
所给段长横跨64,未经管
*ERROR107:ADDRESS SPACE OVERLAP
SPACE:sp_ web_ni ame
SEGMENT:segment_ni ame
由于存储空间不够,所给类型总段未能装入,已被轻视
*ERROR108:SEGMENT IN LOCATING CONTROL CANNOTALLOCATED
SEGMENT:segment_ni ame
命令行定位操纵中的段由于属性题目未能分配
*ERROR109:EMPTY RELOCATABLE SEGMENT
SEGMENT:segment_ni ame
可在定位类型总段长度为零,未定位
*ERROR110:CANNOT FIND SEGMENT
SEGMENT:segment_ni ame
命令行所给的段在输入模块中未找到,被轻视
*ERROR111:SPECIFIED BITADDRESS NOT ON BYTE MEMORY
SEGMENT:segment_ni ame
位地址不在字界上,位段被轻视
*ERROR112:SEGMENT TYPE NOT LEGAL FOR COMMAND
SEGMENT:segment_ni ame
命令行所给的段类型犯科,被轻视
*ERROR114:SEGMENT DOES NOT FIT
SPACE:sp_ web_ni ame
SEGMENT:segment_ni ame
BASE:structure_mtroubled mixress
LENGTH: segment_length
由于所给段的长度恐怕基地址未定位,故被轻视
*ERROR115:INPAGE SEGMENT IS GREATER THAN 256 BYTES
SEGMENT:segment_ni ame
所给INPAGE 属性的段善于256字节未能连入类型总段,并被轻视
*ERROR116:INBLOCK SEGMENT IS GREATER THAN 2048 BYTES
SEGMENT:segment_ni ame
所给INBLOCK 属性的段善于2048字节未能连入类型总段,你知道[b]keil[/b]。被轻视
*ERROR117:BITADDRESSABLLE SEGMENT IS GREATER THAN 16 BYTE
SEGMENT:segment_ni ame
所给BITADDRESSABLE 属性的段善于16 字节未能连入类型总段,被轻视
*ERROR118:REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL:symbol_ni ame
MODULE:file_ni ame(moduleni ame)
ADDRESS:code_mtroubled mixress
企图拜候差错的外部序次地址
*ERROR119:REFERENCE MADE TO ERRONEOUS SEGMENT
SYMBOL:symbol_ni ame
MODULE:file_ni ame(moduleni ame)
ADDRESS:code_mtroubled mixress
企图拜候差错段的序次地址
*ERROR120:CONTENT BELONGS TO ERROREOUS SEGMENT
SEGMENT:segment_ni ame
MODULE:file_ni ame(moduleni ame)
该形式属于有差错的段
*ERROR121:IMPROPER FIXUP
MODULE:file_ni ame(moduleni ame)
SEGMENTsegment_ni ame
OFFSET:segment_ni ame
根据所给段和偏移地址的到的是不当的地址
*ERROR122:CANNOT FIND MODULE
MODULE:file_ni ame(moduleni ame)
命令行所给的模块未能找到
L51 致命差错
*FATAL ERROR201:INVALID COMMAND LINE SYNTAX
Pfine artiing commbasically well basically line
命令行句法错。命令行出现到出错处。
*FATAL ERROR202:INVALID COMMAND LINE ,TOKEN TOO LONG
Pfine artiing commbasically well basically line
犯科命令行,单词太长。命令行出现到出错处
*FATAL ERROR203:EXPECTED ITEM MISSING
Pfine artiing commbasically well basically line
缺项。命令行出现到出错处。
*FATAL ERROR204:INVALID KEYWORD
Pfine artiing commbasically well basically line
犯科关键字
*FATAL ERROR205:CONSTANT TOO LONG
Pfine artiing commbasically well basically line
常量大于0xffff。命令行出现到出错处。
*FATAL ERROR206:INVALID CONSTANT
Pfine artiing commbasically well basically line
命令行常量有效(如16 进制数以字母初步)。命令行出现到出错处。
*FATAL ERROR207:INVALID NAME
Pfine artiing commbasically well basically line
模块名或段名有效。命令行出现到出错处。
*FATAL ERROR208:INVALID FILENAME
Pfine artiing commbasically well basically line
文件名有效。命令行出现到出错处。
*FATAL ERROR209:FILE USED IN CONLICTING CONTEXTS
FILE:fileni ame
所给的文件名用于有抵触之处。命令行出现到出错处。
*FATAL ERROR210:I/O ERROR ON INPUT FILE
System error messgeneraroundion
FILE:fileni ame
拜候输入文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR211:I/O ERROR ON OUTPUT FILE
System error messgeneraroundion
FILE:fileni ame
拜候输入文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR212:I/O ERROR ON LISTING FILE
System error messgeneraroundion
FILE:fileni ame
拜候列表文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR213:I/O ERROR ONWORK FILE
System error messgeneraroundion
FILE:fileni ame
拜候作事文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR214:I/O INPUT PHASE ERROR
MODULE:fileni ame(moduleni ame)
L51 在实行第二次扫描时遇到不同的数据发生该差错,可能是因汇编差错惹起
*FATAL ERROR215:CHECK SUM ERROR
MODULE:fileni ame(moduleni ame)
校验和与文件形式不一致
*FATAL ERROR216:INSUFFICIENTMEMORY
MODULE:fileni ame(moduleni ame)
推行L51 的内存空间不够
*FATAL ERROR217:NO MODULE TO BE PROCESSED
欠缺该当被经管的模块
*FATAL ERROR218:NOTAN OBJECT FILE
FILE:fileni ame
所给文件非标的目的文件
*FATAL ERROR219:NOTAN 8051 OBJECT FILE
FILE:fileni ame
所给文件非8051 标的目的文件
*FATAL ERROR220:INVALID INPUTMODULE
FILE:fileni ame
所给输入模块有效,可能是由汇编差错惹起的
*FATAL ERROR221:MODULE SPECIFIED MORE THAN ONCE
Pfine artiing commbasically well basically line
命令行上屡次蕴涵同一模块。命令行出现到出错处
*FATAL ERROR222:SEGMENT SPEXIFIED MORE THAN ONCE
Pfine artiing commbasically well basically line
命令行上屡次蕴涵同一段。命令行出现到出错处
*FATAL ERROR224:DUPLICATE KEYWORD OR CONFLICATING CONTROL
Pfine artiing commbasically well basically line
命令行上屡次蕴涵同一关键字恐怕生活相互抵触的操纵选项。命令行出现到出错处
*FATAL ERROR225:SEGMENTADDRESS ARE NOT IN ASCENDING ORDER
Pfine artiing commbasically well basically line
定位操纵的段地址未根据升序出现。命令行出现到出错处
*FATAL ERROR226:SEGMENTADDRESS INVALID FOR CONTROL
Pfine artiing commbasically well basically line
定位操纵的段的段地址有效。命令行出现到出错处
*FATAL ERROR227:PARAMETER OUT RANGE
Pfine artiing commbasically well basically line
所给PAGEWIDTH 和PAGELENGTH 参数越界。命令行出现到出错处
*FATAL ERROR228:PARAMETER OUT RANGE
Pfine artiing commbasically well basically line
命令行上RAMSIZE 参数越界。命令行出现到出错处
*FATAL ERROR229:INTERAL PROCESS ERROR
Pfine artiing commbasically well basically line
L51 检测到外部经管错。请扣问代理商
*FATAL ERROR230:STRARTADDRESS SPECIFIED MORE THAN ONCE
Pfine artiing commbasically well basically line
命令行上蕴涵多个未命名组段的起始地址。命令行出现到出错处
*FATAL ERROR233:ILLEGAL USE OF *IN OVERLAY CONTROL
Pfine artiing commbasically well basically 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
命令行的语意犯科。如对打印机实行读操作。
附录 F C51的极限值
*标示符最长255 个字符,一般取32 字符。大大写不迟钝。
*cautomotive service engineers语句的变量个数没无限制,仅受可用内存容量和[b]函数[/b]的最大长度限制。
*[b]函数[/b]嵌套调用最大深度为10。
*效用块{….}最大嵌套深度为15。
*宏[b]最多[/b]嵌套为8。
*[b]函数[/b]以及宏的参数[b]最多[/b]为32个。
*语句行和宏定义[b]最多[/b]510 个字符(宏扩展后是510个字符)
*头文件嵌套深度为20。
*预经管器中的条件编译层[b]最多[/b]为20。
*关于INTEL标的目的模块格式(OMF-51)的极限值。
*[b]函数[/b]类型段总和[b]最多[/b]256 个。
*全局符号(PUBLIC)[b]最多[/b]256 个。
*外部符号(EXTERNAL)[b]最多[/b]256 个。
2011年08月15日
[b][/b]C51编译器鉴别错类型有三种
1、致命差错:伪指令操纵行有错,拜候不生活的原文件或头文件等。
2、语法及语义差错:语法和语义差错都发生在原文件中。有这类差错时,给出
提示但不出现标的目的文件,差错横跨肯定数量才终止编译。
3、戒备:戒备出现并不影响标的目的文件的出现,但推行时有可能发生题目。序次
员应商议经管。
D.1 致命差错
C_51 FATAL_ERROR
ACTION:
LINE:
ERROR: terminconsumedd
或C_51 FATAL ERROR
ACTION:
FILE:
ERROR: terminconsumedd
C_51 TERMINATED C_51
(1) ACTION 的有关音讯
*PARSING INVOKE-/#PRAGMA_LINE
在对#pragma 指明的操纵行作此法剖析时出错。失去。
*ALLOCATING MEMORY
体系分配存储空间时出错。编译较大序次必要512k空间。
*OPENING INPUT_FILE
掀开文件时,未找到或打不开源文件/头文件。
*CREATE LIST_FILE/OBJECT_FILE/WORK_FILE
不能成立上述文件。可能磁盘满或文件已生活而且写庇护。
*PARSING SOURCE_FILE/ANALYZING DECLARATIONS
剖析源序次时发掘外部援用名太多。
*GENERATING INTERMEDIATE CODE
源代码被翻译成外部伪代码,差错可能来源于[b]函数[/b]太大而横跨外部极限。
*WRITING TO FILE
在向文件(work-list-prelist或object file)写时发生差错。
(2)ERROR的有关音讯
*MEMORY SPACE EXHAUSTED
一起可用体系空间耗尽。至少必要512k 字节空间。没有足够空间,用户必需查验常驻内存
的驱动序次能否太多。
*FILE DOES NOT EXIST
FILE 行定的文本文件名未发掘。
*CAN’T CREAT FILE
FILE 行定义的文件不能被成立。
*SOURCE MUST COME FROMA DISK_FILE
源文件和头文件必需生活于硬盘或软盘上。操纵台、CON、CI 或近似配置不准许作为输入
文件。
*MORE THAN 256 SEGMENTS/PUBLICS/EXTERNALS
受OMF_51的历史限制,一个源序次不能横跨256个各种[b]函数[/b]的类型段,256个全局变量,
256 个公共定义或外部援用名。不行使为变量没关系裁减行使的段数。行使staroundic 存储类型说
明符可裁减全局变量的行使数目。合理调整定义性说明的身分可裁减外部援用名的行使数
目。
*FILEWRITE ERROR
当向list、prelist、work或object文件中写形式时,由于空间不够而发生差错。对于[b]keil[/b]。
*NON_NULLARGUMENT EXPECTED
所选的操纵参数必要一个括号内的变量,如一个文件夹或一个数。
*“(”AFTER CONTROL EXPECTED
变量的左括号丧失。
*“)”AFTER PARAMETER EXPECTED
变量的右括号丧失。
*RESPECIFIED OR CONFLICTING CONTROL
所选的操纵参数与后面发生争持或反复,例如CODE和NOCOND
*BAD DECIMAL NUMBER
操纵参数的数字含有犯科数,必要行使十进制数。
*OUT OF RANGE DECIMAL NUMBER
操纵参数的数字越界,例如OPTIMIZE 的参量为0-5。
*IDENTIFIER EXPECTED
操纵参数DEFINE 必要一个标识符做参量,与C措辞的规则相同。
*PARSE STACK OVERFLOW
剖析栈溢出。可能是源序次蕴涵特别纷乱的表达式,或效用块嵌套数横跨15。
*PREPOCESSOR: MACRO TO NESTED
宏扩展岁月,预经管器的栈耗用太大。解释宏嵌套太多,或有递归宏定义。
*PREPOCESSOR: LINE TOO LONG(510)
宏扩展先行横跨510个字符。
*CAN’T HAVE GENERAL CONTROL IN INVOCATION LINE
一般操纵(如EJECT)不能是命令行的一局限,应将它们放入源文件“pragma”预经管行
中。你知道错误。
D.2 语法及语义差错
D.2.1差错格式
这类差错在列表文件中出现如下格式的音讯:
***ERRORIN LINEOF:error messgeneraroundion
***WARINGIN LINEOF:warning messgeneraroundion
表示差错行;
表示源文件或头文件中与差错或戒备相关的行;
指明了差错所在的源文件或头文件;
D.2.2差错音讯及可能发生的原因
*ERROR100:unprintset chardeeder 0x??skipped
源文件中发掘犯科字符(小心,注解内的字符不做查验)。
*ERROR101:unclosed string
串未用引号末了。
*ERROR 102:string too long
串不得横跨511 个字符。为了定义更长的串,用户必需行使续行符‘\’逻辑的接续该串,
在词汇剖析时遇到以该符号末了的行会与下行连接起来。
*ERROR 103: invingid chardeeder constish
试图再声明一个已定义的宏,已生活的宏没关系用#undef指令删除。预定义的宏不能删除。
*ERROR 104: identifier expected
预经管器指令盼愿出现一个标示符,如ifdef。
*ERROR 105: unclosed comment
当注解无结局界定符(*/)时出现此差错。
*EROOR 106: unnicely stedriving instructornessd#if-endif controls
endif的数量与if或ifdef的数量不成婚。
*ERROR 107:include file nesting exceeds 9
include指令后的文件名有效或丧失
*ERROR 108: expected string-如#error “string”
预经管器指令盼愿一个串变量。
*ERROR 109:error text>
由#error 伪指令引入的差错音讯以差错信号形式出现。
*ERROR 110:missing directive
预经管行#后欠缺伪指令。
*ERROR 111:unknown directive
预经管行#后不是伪指令。
*ERROR 112:mispl_ webd ‘elif’
*ERROR 113:mispl_ webd ‘else’
*ERROR 114:mispl_ webd ‘endif’
指令 elif/else/endif 唯有在if、ifdef、ifndef指令内才是合法的。
*ERROR 117:proposingverse integer expression
if/elif指令的数值表达式有语法差错。
*ERROR 118:missing’(‘after mair conditioningro identifier
宏调用中实参表的左括号丧失
*ERROR 119:reuse of mair conditioningro forming pari ameter
宏定义形参名反复行使
*ERROR 120:‘C’unexpected in forming list
形参表中不准许有字符‘c’,应用逗号代庖
*ERROR 121:missing ‘)’after thectuing pari ameter
宏调用实参表的右括号丧失
*ERROR 122:illeging mair conditioningro invoc
宏调用的实参表与宏定义中的形参表不同
*ERROR 123:missing mair conditioningro ni ame after ‘define’
#define 伪指令后缺预定义的宏
*ERROR 124:expected mair conditioningro forming pari ameter
宏定义恳求形参名
*ERROR 125:declarconsumedr too complex
说明过于纷乱
*ERROR 126:type-stair conditioningk underflow
对象的声明至少只能蕴涵20 个类型修饰符(【】,*,(),)差错126 通常在差错125 之前,
两者一起发生。
*ERROR 127:invingid storgeneraroundion clrear end
对象用有效的存储类所说明。当在[b]函数[/b]外用motor vehicle/register 存储时会发生这种境况。
*ERROR 128:memory sp_ web: illeging memory sp_ web ‘memory sp_ web ’used
[b]函数[/b]参数的存储类由存储形式(SMALL LARGE COMPACT)肯定用户不能转换,行使不同
于存储形式的主动变量该当为动态的存储类
*ERROR 129:missing’ ;’until ‘token’
该差错表示分号丧失,对于错误。我不知道变态传奇无英雄。通常该差错会引发一连串的差错,引发的这些差错有关紧要。由于缺
少分号后编译器不能做无误的语法剖析
*ERROR 130:vingue out of ryou should beneficialge
using 或interrupt 指令后参数越限。using 用的存放器组号位0-3,interrupt 必要0-15 的中
断号
*ERROR 131:duplicconsumed function-pari ameter
[b]函数[/b]中形参名反复,形参名应相互不同
*ERROR 132:not in forming pari ameter list
[b]函数[/b]内参数声明行使的名字未出现在参数表中
*ERROR 133:char function(v0-v1-v2)
Char*v0-*v1-*v5;/ *’v5’在形参中未出现
*ERROR 134:xdarounda/idarounda/pdarounda/darounda on function not permitted
[b]函数[/b]总是驻留于0x5xxxx 的code存储区,不能位于xdarounda/idarounda/pdarounda/darounda 空间
*ERROR 135:proposingverse storgeneraroundion clrear end for while
位变量的定义没关系领受staroundic或extern的存储类,情绪。用REGIESTER和ALIEN 都是犯科的
*ERROR 136:‘void’on variset
‘void’类型只准许作为[b]函数[/b]的前往类型或与指针类型合用(void*)
*ERROR 137:illeging pari ameter type:’function’
[b]函数[/b]参数的类型不能是[b]函数[/b],然则[b]函数[/b]指针没关系作为参数
*ERROR 138:interrupt ()may not receive or return vingue (s)
中断[b]函数[/b]既不能有参数又不能有前往值
*ERROR 139:illeging use of ‘peculiar’
关键字peculiar 将[b]函数[/b]定义为PL/M51 端正的历程与[b]函数[/b]布局。这意味着C[b]函数[/b]中有参数的缩
记符号(即funct(…);)时是不能用peculiar的
*ERROR 140:听听生气 。while in illeging memory-sp_ web
位变量的定义可蕴涵修饰符DATA-借使无修饰符则假定为DATA。由于位变量永远位于
0x4xxx 的外部数据存储器中,当试图采用其他存储空间就会出现这个差错。
*ERROR 141:NEAR:expected
编译器所见的单词是差错的。盼愿无误的单词
*ERROR 142:invingid structure mtroubled mixress
Sfr 说明中的基址有错。有效基址为0x80-0xff。借使声明采用structure^pos 形式,则基址是8的
整数倍
*ERROR 143:invingid essentiing while position
Swhile 说明中位地址必需在0x80-0xff之间
*ERROR 144:structure^pos:错误。invingid while position
Swhile 说明中位pos必需在0~7之间
*ERROR 145:undeclunquestionabdominingly ared sfr
Sfr 未说明
*ERROR 146:invingid sfr
万万位地址说明(structure^pos)蕴涵有效的基地址。这个基地址必需与sfr 名绝对应
*ERROR 147:object too large
对象不能横跨(64k)字节
*ERROR 148:field not permitted in union
连结不能蕴涵位成员,这个限制是由8051布局肯定的。
*ERROR 149:function memyou should ber in struct/union
布局恐怕连结不能蕴涵[b]函数[/b]类型的成员。但是指向[b]函数[/b]的指针是准许的
*ERROR 150:while memyou should ber in struct/union
布局恐怕连结不能蕴涵位类型的成员,这个限制是由8051 布局肯定的
*ERROR 151:self relaroundive struct/union
布局恐怕连结不能蕴涵自身
*ERROR 152:while field type too smevery while of for numyou should ber of portions
位域声明中指定的位数横跨所给原型中位的数量
*ERROR 153:ni amed while-field cyou should beneficialnot haudio-videoe 0 width
命名的域宽度为0差错,唯有未命名的位域准许是0宽度
*ERROR 154:pro to field
无指向位域指针的类型
*ERROR 155:char/int required for fields
位域基类型恳求char 或int类型,unsigned char 或unsigned int 也有效
*ERROR 156:peculiar permitted on function only
Alien 只能用于[b]函数
[/b]*ERROR 157:错误。var_pforearm rests on peculiar function
有变参数的[b]函数[/b]不能用peculiar -由于PL/M51[b]函数[/b]只能用牢固数量的参数
*ERROR 158:function contains unni amed pari ameter
[b]函数[/b]定义的参数表中蕴涵知名参数。知名参数只准许用于[b]函数[/b]的原型中
*ERROR 159:type follows void
[b]函数[/b]原型声明中可含一个空的参数表f(void)。Void后不能再用其他类型定义
*ERROR 160:void invingid
Void类型只能与指针合用或解释[b]函数[/b]没有前往值
*ERROR 161:forming pari ameter ignored
[b]函数[/b]内的外部[b]函数[/b]援用声明行使了无类型的参数表。错误。例如“ extern(a-b-c);”恳求形参表
*ERROR 162:duplicconsumed function-pari ameter
[b]函数[/b]内参数名反复
*ERROR 163:unknown plethora size
一般的不论是一维数组还是多维数组或外部数组,都必要指定数组的大小,这个大小是由编
译器的初始化时计算,这个差错解释试图为一个未定维的数组行使sizeof运算符,会哦着一
个多维数组的附加元素未定义。
*ERROR 164:ptr to null
这一个差错通常是由前一个差错造成的
*ERROR 165:ptr to while
指向位的指针不是合法的类型
*ERROR 166:connected with function
数组不能蕴涵[b]函数[/b],但可能蕴涵指向[b]函数[/b]的指针。
*ERROR 167:connected with fields
位域不能安放为数组
*ERROR 168:connected with while
数组没有位类型
*ERROR 169:function returns function
[b]函数[/b]不能前往[b]函数[/b],但没关系前往一个指向[b]函数[/b]的指针
*ERROR 170:function returns plethora
[b]函数[/b]不能前往数组,但可前往指向数组的指针
*ERROR 171:missing enclosing swith
Break/continue 语句只能出现在for-while-do while或switch语句中心。
*ERROR 172:missing enclosing swith
Cautomotive service engineers语句只能用在switch语句中
*ERROR 173:对比一下情绪。missing return-expression
前往类型不是integer 的[b]函数[/b]必需蕴涵一条代表达式的return 语句。由于要与老版本兼容,
编译器对前往整形值的[b]函数[/b]不做查验
*ERROR 174:return-expression on void-function
Void [b]函数[/b]不能前往值,因而不能蕴涵带表达式return的语句
*ERROR 175:duplicconsumed cautomotive service engineers vingue
每个cautomotive service engineers 语句必需蕴涵一个常量表达式做其变量,这个值不能在switch 语句的各级中出现
屡次
*ERROR 176:more thyou should beneficial one default
Switch语句中不能蕴涵多于一个的default语句
*ERROR 177:different struct/union
赋值或参数传达中行使了布局/连结的不同类型
*ERROR 178:struct/union comparison illeging
根据ANSI C,两个布局或连结的斗劲是不准许的
*ERROR 179:cyou should beneficialnot/cbasicallyt from/to void-type
将void类型转化为其他类型数据或将其他类型转化为void类型都是犯科的
*ERROR 180:cyou should beneficialnot cbasicallyt to’function’
转化为function是犯科的,行使[b]函数[/b]指针指向不同的[b]函数
[/b]*ERROR 181:incomparoundible operbasically well basically
在所给的运算符中至少有一个操作符类型是有效的
*ERROR 182:point to different object
敷陈指针行使不一致
*ERROR 183:unmodifiset vingue
预编削的对象位于CODE 存储区,因而不能编削
*ERROR 184:sizeof :illeging operbasically well basically
Sizeof运算符不能肯定[b]函数[/b]或位域大小
*ERROR 185:different memory sp_ web
对象说明的存储空间与后面的不一致
*ERROR 186:invingid dereference
这条差错音讯可能由编译器外部题目出现的
*ERROR 187:not you should beneficial lvingue
所需参量必需是可变对象的地址
*ERROR 188:unknown object size
无法计算对象的大小,由于欠缺数组的维数或由于议决void指针的直接拜候
*ERROR 189:‘&’on while/sfr illeging
地址操作符‘&’不准许用于位对象或sfr
*ERROR 190:’&’:not you should beneficial lvingue
地质部是可变的对象,不能作为左值
*ERROR 191:‘&’on constish
试图为所列类型常数建立指针
*ERROR 192:‘&’on plethora/function
地址操作符&不准许用于数组或[b]函数[/b],[b]函数[/b]和数组自己都代表了地址
*ERROR 193:illeging op-type(s)
*ERROR 193:illeging mix/sub on ptr
*ERROR 193:illeging oper on while(s)
*ERROR 193:proposingverse operbasically well basically type
当一个表达式行使给定运算符的犯科操作类型时就会出现该差错,行使个定运算符的犯科操
作类型的有效的表达式,例如while+while-ptr+ptr-或ptr*。差错音讯包括惹起差错的运算符。
下列运算可行使位操作符
赋值(=)
OR/复合OR(|,|=)
AND/复合AND(&-&=)
XOR/复合XOR(^-^=)
位或常数的安位斗劲(= =-!=)
取反(~)
*ERROR 194:’*’indirection to object of unknown size
直接操作符*不能用于void指针(void*),由于指针所指的对象的大小时未知的
*ERROR 195:错误。’*’illeging indirection
直接操作符*不能用于非指针变量
*ERROR 196:msp_ web probabdominingly invingid
出现此戒备是由于某些常数值赋给指针并且常数没有酿成一个有效的指针值,有效的指针常
数类型为long/unsigned long。编译器对指针对象采用24while(3 字节),低16 位表示偏移,高
8 位表示存储类的选取,在低字节中,值从1 到5 解释了xdarounda/pdarounda/idarounda/darounda/和code 的存
储类
*ERROR 197:illeging pointer project
试图将一个犯科变量赋给指针,唯有另一个指针或指针变量没关系赋给指针
*ERROR 198:size of returns zero
求某些对象长度取得0,借使对象是外部的或一个数组中并非一起维的大小都是已知时取得
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:proposingverse storgeneraroundion clrear end(ni ameref)
该差错表示编译器的外部有题目
*ERROR 204:undefined memyou should ber
所给的布局/联分解员名未定义
*ERROR 205:cyou should beneficialnot cevery while of you should beneficial interrupt function
中断[b]函数[/b]不能像日常[b]函数[/b]那样调用,由于这种[b]函数[/b]的头端和尾端是为中断特殊编码的
*ERROR 206:missing function-prototype
调用的[b]函数[/b]欠缺原型说明
*ERROR 207:declunquestionabdominingly ared with ‘void’ pari ameter list
用void参数说明的[b]函数[/b]不领受调用者传来的参数
*ERROR 208:too myou should beneficialy essentiing pari ameter
[b]函数[/b]调用蕴涵了多余的实参
*ERROR 209:too few essentiing pari ameter
[b]函数[/b]调用时传达的实参过少
*ERROR 210:too myou should beneficialy nested cevery while ofs
横跨了10 个[b]函数[/b]嵌套调用的极限
*ERROR 211:cevery while of not to a plebasicallyursetction
[b]函数[/b]调用时没有[b]函数[/b]的地址或未对指向[b]函数[/b]的指针赋值
*ERROR 212:indirect cby haudio-videoi formaroundng pari ameter
由于参数传达措施的限制,议决指针的直接[b]函数[/b]调用不能直接作为实参。这种参数传达措施
恳求被调用的[b]函数[/b]名已知,由于参数的写入要被写入调用[b]函数[/b]的数据段。然则直接调用时[b]函
[/b][b]数[/b]的的名字时未知的
*ERROR 213:left side of give_op not you should beneficial lvingue
在赋值操作符左侧恳求可变的对象
*ERROR 214:cyou should beneficialnot cbasicallyt non_pointer to pointer
非指针不能转化为指针
*ERROR 215:cyou should beneficialnot cbasicallyt pointer to not_int/pointer
指针没关系转化为另一个指针或整数,但不能转化为其他类型
*ERROR 216:subaloneycript on non_plethora or too myou should beneficialy dimensions
对非数组行使了下标或数组维数过多
*ERROR 217:non_integring index
数组的下标表达式必需是整型类型
*ERROR 218:void_type in controlling expression
While-for 或do while语句中表达式不能是void类型
*ERROR 219:long constish truncconsumedd to int
企图把长整型常量截断为整型数是差错的
*ERROR 220:illeging constish expression
犯科常量表达式
*ERROR 221:non_constish cautomotive service engineers/dim expression
Cautomotive service engineers值或下标值([])恳求用常量表达式
*ERROR 222:div by zero
*ERROR 223:mod by zero
编译器检测到0 除或0 模的差错
*ERROR 224:illeging oper on floaround/double
AND 和NOT一类的运算符不准许作用于floaround/double
*ERROR 225:[b]keil[/b]。expression too complex -simplify
表达式太纷乱,必需简化
*ERROR 226:duplicconsumed struct/union/enum tag
布局/连结/枚举类型中有反复标志
*ERROR 227:not a union tag
所给的标志名虽已定义,但不是连结的标志
*ERROR 228:not a struct tag
所给的标志名虽已定义,但不是布局的标志
*ERROR 229:not you should beneficial enum tag
所给的标志名虽已定义,但不是枚举的标志
*ERROR 230:unknown struct/union/enum tag
所给的布局/连结/枚举标志名未定义
*ERROR 231:redefinition
所给的名字仍然定义,不能再定义
*ERROR 232:duplicconsumed labdominingel
所给的标号仍然订义
*ERROR 233:undefined labdominingel
当对[b]函数[/b]实行剖析后,编译器查验到[b]函数[/b]有未定义的标号,收回差错音讯
*ERROR 234:‘{’scope stair conditioningk overflow(31)
横跨了最大为31 个的效用嵌套极限,多余的块被轻视
*ERROR 235:pari ameter:different type
[b]函数[/b]实参类型与[b]函数[/b]原型中的不同
*ERROR 236:different length of pari ameter lists
所给的[b]函数[/b]是参量与[b]函数[/b]原型中的不同
*ERROR 237:function yet hbasically body
试图定义仍然定义过的[b]函数
[/b]*ERROR 238:duplicconsumed memyou should ber
*ERROR 239:duplicconsumed pari ameter
反复定义结组成员或[b]函数[/b]参数
*ERROR 240:想知道错误。more thyou should beneficial 128 locing while’s
位变量定义总数不能横跨128
*ERROR 241:motor vehicle segment too large
局部对象恳求的空间横跨了该形式的最大值。最大栈长定义如下:SMALL-128 字
节-COMPACT-256字节,LARGE-64k
*ERROR 242:too myou should beneficialy initiingizers
初始化对象超限
*ERROR 243:string out of ryou should beneficialge
串中字符数横跨了字符数组恳求初始化的字符数
*ERROR 244:cyou should beneficial’t initiingize .proposingverse type or clrear end
试图初始化位或sfr
*ERROR 245:unknown pragma- line ignored
未知的pragma 语句,因而该行被轻视
*ERROR 246:floarounding point error
本差错发生在浮点变量横跨32 位有效字长时,32 位IEEE 格式的浮点值的取值范畴是±
1.E-38~±3.E+38
*ERROR 247:non_mtroubled mixress +/-constish initiingizer
有效的初始化表达式必需是非地址量+/-常量
*ERROR 248:mergeitiingiz needs curly orthodontics
一起的组合变量(数组/布局或连结)初始化时要用花括号括起来
*ERROR 249:segment:segment too large
编译器检测到过大的数据段,最大数据段长取决于存储器空间
*ERROR 250:‘\esc’;vingue exceeds 255
串常数中\esc本义序列的值横跨有效域
*ERROR 251:illeging octing digit
不是有效的八进制数字
*ERROR 252:mispl_ web primary control、line ignored
一次性行使的编译操纵伪指令必需在C模块初步指定,在#INCLUDE 语句和变量说明之前
*ERROR 253:你知道生气 。interning ERROR(ASMGEN\CLASS)
这种差错在以下境况下发生⑴外部[b]函数[/b](如testwhile)被不无误激活。它发生在[b]函数[/b]原型和实
参表不生活成婚题目的时候。基于这个原因,头文件中的行使要适宜(intrins.h-string.h)。
⑵C51鉴别出生活外部一致性差错,请向您的出卖代理商查询
*ERROR 255:switch expression hwhen illeging type
Switch语句中的cautomotive service engineers语句必需具有类型(u)char-(u)int 或(u)short-其他类型不准许(如while)
*ERROR 256:conflicting memory model
Alien 属性的[b]函数[/b]只能行使SMALL形式。[b]函数[/b]的参数必需位于外部数据存储空间
*ERROR 257:peculiar function cyou should beneficial not you should be reentrish
“peculiar”属性的[b]函数[/b]不能同时具有“reentrish”属性,[b]函数[/b]的参数不能议决重入栈传达,这也
适用于外部“peculiar”声明和“peculiar”[b]函数
[/b]*ERROR 258:msp_ web illeging on struct/union memyou should ber
不能为布局联分解员指定存储空间,但指向对象的指针没关系
*ERROR 259:pointer: different msp_ web
当为指针赋值或做指针斗劲时,指针未指向存储在同一存储空间的对象时,会出现差错恐怕
戒备。如:
Char xdarounda *px;/*px to char in xdarounda memory*/
Char code *pc;/*pc to char in code memory*/
Void main()
{ char c;
If(px==pc)++c;/*warning 259*/
}
*ERROR 260:pointer trunc
指针转换时局限偏移量被截断,此时指针常量(如char xdarounda)转为一个具有较小偏移区的
指针(如char idarounda)
*ERROR 261:while in reentrish function
重入[b]函数[/b]不能蕴涵位变量,由于位变量不能存于重入栈,而只能位于MCS51CPU的可位寻
址存储区中如:
Void test () reentrish
{ while b0;/*illeging*/
Staroundic while b1;/*leging*/
}
*ERROR 262:’using/disset’: function returns while
行使属性using选取存放器组的[b]函数[/b]或行使关中断(#pragma disset)效用的[b]函数[/b]不能前往
while类型。如:
Bit test ()using 3/*error 261*/
{ while b0;
return(b0);
}
*ERROR 263:saudio-videoe-stair conditioningk overflow/underflow
“#pragi ama saudio-videoe”最大嵌套级为8 级。Saudio-videoe 和restore 指令按FIFO 原则作事
*ERROR 264:intrinsic:declar/ initiing error
外部参数定义不无误
*ERROR 265:recursive cevery while of to non_reentrish function
发掘非重入[b]函数[/b]被递归调用。直接递归用生成代码可有效查出,直接递归调用由L51 发掘
L51 连接定位器行使差错提示
1 戒备
戒备并不终止L51 的推行。这时出现的序次模块由序次员自己商议行使还是不行使。但是
此时的列表文件和屏幕出现可能异常有用。
2差错
差错并不终止L51 的推行。这时出现的模块是不能行使的。但是此时的列表文件和屏幕显
示可能异常有用。
3 致命差错
致命差错发生时马上终止L51 的推行。
1戒备
*WARNING1:UNSOLVED EXTERNAL SYMBOLS
SYMBOLS: externing_ni ame
MODULE: fileni ame (moduleni ame)
指定模块的外部符号在PUBLIC符号表中找不到
*WARNING2:REFERENCE MADE TO UNSOVED EXTERNAL
SYMBOLS: externing_ni ame
MODULE: fileni ame (moduleni ame)
ADDRESS:code_mtroubled mixress
拜候了未能成婚的外部符号code地址
*WARNING4:DATA SPACE MEMORY OVERLAP
FROM:byte-while-mtroubled mixress
TO: byte-while-mtroubled mixress
数据空间指定范畴出现笼罩
*WARNING5:CODE SPACE MEMORY OVERLAP
FROM:byte-while-mtroubled mixress
TO: byte-while-mtroubled mixress
序次空间指定范畴出现笼罩
*WARNING6:XDATA SPACE MEMORY OVERLAP
FROM:byte-while-mtroubled mixress
TO: byte-while-mtroubled mixress
外部数据空间指定范畴出现笼罩
*WARNING7:MODULE NAME NOT UNIQUE
MODULE:fileni ame(moduleni ame)
模块名重名。模块未经管
*WARNING8:MODULE NAME EXPLICITLY REQUESTED FROMANOTHER FILE
MODULE:fileni ame(moduleni ame)
其他文件指名恳求本模块名
*WARNING9:EMPTYABSOLUTE SEGMENT
MODULE:fileni ame(moduleni ame)
本模块蕴涵空的万万段,失去。因未定位,它可能在不通知的境况下随时被笼罩
*WARNING10:CANNOT DETERMINE ROOT SEGMENT
L51 对输入文件恳求分袂是C51还是PL/M文件,然后实行流程剖析,在无法确定的时候,
收回本戒备。它发生在主序次被汇编调用的时候,必要序次员用OVERLAP 特殊操纵选项
实行干涉干与
*WARNING11:CANNOT FIND SEGMENT OR FUNCTION NAME
NAME:overlap_control_ni ame
在标的目的模块中找不到OVERLAP操纵选项中端正的段恐怕[b]函数[/b]间调用
*WARNING12:NO REFERENCE BETWEEN SEGMENTS
SEGMENT1:segment_ni ame
SEGMENT2:segment_ni ame
试图用OVERLAP操纵选项删除从来不生活的段间拜候恐怕[b]函数[/b]间调用
*WARNING13:RECURSIVE CALL TO SEGMENT
SEGMENT:segment_ni ame
CALLER:segment_ni ame
CALLER段递归调用SEGMENT段。PL/M51和C51的非重入[b]函数[/b]不准许递归调用
*WARNING14:IMCOMPIABLE MEMORYMODEL
MODULE:fileni ame(moduleni ame)
MODEL:memory_model
指定模块试图与以前不同的存储形式编译。
*WARNING15:MULTICALL TO SEGMENT
SEGMENT:segment_ni ame
CALLER1:segment_ni ame
CALLER2:segment_ni ame
两个[b]函数[/b]调用同一个[b]函数[/b](如主[b]函数[/b]和中断[b]函数[/b]),参数和局部变量将被笼罩
*WARNING15:UNCALLED SEGMENT-IGNORED FOR OVERLAP PROCESS
SEGMENT:segment_ni ame
所给的段未被调用,已被排挤在笼罩历程之外。
L51差错
*ERROR101: SEGMENT COMBINATION ERROR
SEGMENT:segment_ni ame
MODULE:fileni ame(moduleni ame)
由于连接差错所给段未能连入类型总段,并被轻视
*ERROR102:EXTERN ATTRIBUTE MISMATCH
SYMBOL:externing_ni ame
MODULE:fileni ame(moduleni ame)
所给外部符号名属性错,并被轻视
*ERROR103:EXTERN ATTRIBUTE DO NOTMATCH PUBLIC
SYMBOL:public_ni ame
MODULE:fileni ame(moduleni ame)
所给外部符号名属性与公用符号名不成婚,并被轻视
*ERROR104:MUTIPULIC DEFINITION
SYMBOL:pulic_ni ame
MODULE:fileni ame(moduleni ame)
所给公用符号重名
*ERROR105:PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:public_ni ame
MODULE:fileni ame(moduleni ame)
所给外部符号名属性错,并被轻视
*ERROR106: SEGMENT OVERFLOW
SEGMENT:segment_ni ame
所给段长横跨64,未经管
*ERROR107:ADDRESS SPACE OVERLAP
SPACE:sp_ web_ni ame
SEGMENT:segment_ni ame
由于存储空间不够,所给类型总段未能装入,已被轻视
*ERROR108:SEGMENT IN LOCATING CONTROL CANNOTALLOCATED
SEGMENT:segment_ni ame
命令行定位操纵中的段由于属性题目未能分配
*ERROR109:EMPTY RELOCATABLE SEGMENT
SEGMENT:segment_ni ame
可在定位类型总段长度为零,未定位
*ERROR110:CANNOT FIND SEGMENT
SEGMENT:segment_ni ame
命令行所给的段在输入模块中未找到,被轻视
*ERROR111:SPECIFIED BITADDRESS NOT ON BYTE MEMORY
SEGMENT:segment_ni ame
位地址不在字界上,位段被轻视
*ERROR112:SEGMENT TYPE NOT LEGAL FOR COMMAND
SEGMENT:segment_ni ame
命令行所给的段类型犯科,被轻视
*ERROR114:SEGMENT DOES NOT FIT
SPACE:sp_ web_ni ame
SEGMENT:segment_ni ame
BASE:structure_mtroubled mixress
LENGTH: segment_length
由于所给段的长度恐怕基地址未定位,故被轻视
*ERROR115:INPAGE SEGMENT IS GREATER THAN 256 BYTES
SEGMENT:segment_ni ame
所给INPAGE 属性的段善于256字节未能连入类型总段,并被轻视
*ERROR116:INBLOCK SEGMENT IS GREATER THAN 2048 BYTES
SEGMENT:segment_ni ame
所给INBLOCK 属性的段善于2048字节未能连入类型总段,你知道[b]keil[/b]。被轻视
*ERROR117:BITADDRESSABLLE SEGMENT IS GREATER THAN 16 BYTE
SEGMENT:segment_ni ame
所给BITADDRESSABLE 属性的段善于16 字节未能连入类型总段,被轻视
*ERROR118:REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL:symbol_ni ame
MODULE:file_ni ame(moduleni ame)
ADDRESS:code_mtroubled mixress
企图拜候差错的外部序次地址
*ERROR119:REFERENCE MADE TO ERRONEOUS SEGMENT
SYMBOL:symbol_ni ame
MODULE:file_ni ame(moduleni ame)
ADDRESS:code_mtroubled mixress
企图拜候差错段的序次地址
*ERROR120:CONTENT BELONGS TO ERROREOUS SEGMENT
SEGMENT:segment_ni ame
MODULE:file_ni ame(moduleni ame)
该形式属于有差错的段
*ERROR121:IMPROPER FIXUP
MODULE:file_ni ame(moduleni ame)
SEGMENTsegment_ni ame
OFFSET:segment_ni ame
根据所给段和偏移地址的到的是不当的地址
*ERROR122:CANNOT FIND MODULE
MODULE:file_ni ame(moduleni ame)
命令行所给的模块未能找到
L51 致命差错
*FATAL ERROR201:INVALID COMMAND LINE SYNTAX
Pfine artiing commbasically well basically line
命令行句法错。命令行出现到出错处。
*FATAL ERROR202:INVALID COMMAND LINE ,TOKEN TOO LONG
Pfine artiing commbasically well basically line
犯科命令行,单词太长。命令行出现到出错处
*FATAL ERROR203:EXPECTED ITEM MISSING
Pfine artiing commbasically well basically line
缺项。命令行出现到出错处。
*FATAL ERROR204:INVALID KEYWORD
Pfine artiing commbasically well basically line
犯科关键字
*FATAL ERROR205:CONSTANT TOO LONG
Pfine artiing commbasically well basically line
常量大于0xffff。命令行出现到出错处。
*FATAL ERROR206:INVALID CONSTANT
Pfine artiing commbasically well basically line
命令行常量有效(如16 进制数以字母初步)。命令行出现到出错处。
*FATAL ERROR207:INVALID NAME
Pfine artiing commbasically well basically line
模块名或段名有效。命令行出现到出错处。
*FATAL ERROR208:INVALID FILENAME
Pfine artiing commbasically well basically line
文件名有效。命令行出现到出错处。
*FATAL ERROR209:FILE USED IN CONLICTING CONTEXTS
FILE:fileni ame
所给的文件名用于有抵触之处。命令行出现到出错处。
*FATAL ERROR210:I/O ERROR ON INPUT FILE
System error messgeneraroundion
FILE:fileni ame
拜候输入文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR211:I/O ERROR ON OUTPUT FILE
System error messgeneraroundion
FILE:fileni ame
拜候输入文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR212:I/O ERROR ON LISTING FILE
System error messgeneraroundion
FILE:fileni ame
拜候列表文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR213:I/O ERROR ONWORK FILE
System error messgeneraroundion
FILE:fileni ame
拜候作事文件时检测到有错,并有反面的EXCEPTION 给出的确的差错刻画
*FATAL ERROR214:I/O INPUT PHASE ERROR
MODULE:fileni ame(moduleni ame)
L51 在实行第二次扫描时遇到不同的数据发生该差错,可能是因汇编差错惹起
*FATAL ERROR215:CHECK SUM ERROR
MODULE:fileni ame(moduleni ame)
校验和与文件形式不一致
*FATAL ERROR216:INSUFFICIENTMEMORY
MODULE:fileni ame(moduleni ame)
推行L51 的内存空间不够
*FATAL ERROR217:NO MODULE TO BE PROCESSED
欠缺该当被经管的模块
*FATAL ERROR218:NOTAN OBJECT FILE
FILE:fileni ame
所给文件非标的目的文件
*FATAL ERROR219:NOTAN 8051 OBJECT FILE
FILE:fileni ame
所给文件非8051 标的目的文件
*FATAL ERROR220:INVALID INPUTMODULE
FILE:fileni ame
所给输入模块有效,可能是由汇编差错惹起的
*FATAL ERROR221:MODULE SPECIFIED MORE THAN ONCE
Pfine artiing commbasically well basically line
命令行上屡次蕴涵同一模块。命令行出现到出错处
*FATAL ERROR222:SEGMENT SPEXIFIED MORE THAN ONCE
Pfine artiing commbasically well basically line
命令行上屡次蕴涵同一段。命令行出现到出错处
*FATAL ERROR224:DUPLICATE KEYWORD OR CONFLICATING CONTROL
Pfine artiing commbasically well basically line
命令行上屡次蕴涵同一关键字恐怕生活相互抵触的操纵选项。命令行出现到出错处
*FATAL ERROR225:SEGMENTADDRESS ARE NOT IN ASCENDING ORDER
Pfine artiing commbasically well basically line
定位操纵的段地址未根据升序出现。命令行出现到出错处
*FATAL ERROR226:SEGMENTADDRESS INVALID FOR CONTROL
Pfine artiing commbasically well basically line
定位操纵的段的段地址有效。命令行出现到出错处
*FATAL ERROR227:PARAMETER OUT RANGE
Pfine artiing commbasically well basically line
所给PAGEWIDTH 和PAGELENGTH 参数越界。命令行出现到出错处
*FATAL ERROR228:PARAMETER OUT RANGE
Pfine artiing commbasically well basically line
命令行上RAMSIZE 参数越界。命令行出现到出错处
*FATAL ERROR229:INTERAL PROCESS ERROR
Pfine artiing commbasically well basically line
L51 检测到外部经管错。请扣问代理商
*FATAL ERROR230:STRARTADDRESS SPECIFIED MORE THAN ONCE
Pfine artiing commbasically well basically line
命令行上蕴涵多个未命名组段的起始地址。命令行出现到出错处
*FATAL ERROR233:ILLEGAL USE OF *IN OVERLAY CONTROL
Pfine artiing commbasically well basically 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
命令行的语意犯科。如对打印机实行读操作。
附录 F C51的极限值
*标示符最长255 个字符,一般取32 字符。大大写不迟钝。
*cautomotive service engineers语句的变量个数没无限制,仅受可用内存容量和[b]函数[/b]的最大长度限制。
*[b]函数[/b]嵌套调用最大深度为10。
*效用块{….}最大嵌套深度为15。
*宏[b]最多[/b]嵌套为8。
*[b]函数[/b]以及宏的参数[b]最多[/b]为32个。
*语句行和宏定义[b]最多[/b]510 个字符(宏扩展后是510个字符)
*头文件嵌套深度为20。
*预经管器中的条件编译层[b]最多[/b]为20。
*关于INTEL标的目的模块格式(OMF-51)的极限值。
*[b]函数[/b]类型段总和[b]最多[/b]256 个。
*全局符号(PUBLIC)[b]最多[/b]256 个。
*外部符号(EXTERNAL)[b]最多[/b]256 个。