C51编译器识别错类型 下载本文

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

“#pragama save”最大嵌套级为8级。Save 和restore 指令按FIFO原则工作 *ERROR 264:intrinsic:declaration/ activation error 内部参数定义不正确

*ERROR 265:recursive call to non_reentrant function

发现非重入函数被递归调用。直接递归用生成代码可有效查出,间接递归调用由L51发现 L51连接定位器使用错误提示 1 警告

警告并不终止L51的执行。这时产生的程序模块由程序员自己斟酌使用还是不使用。但是此时的列表文件和屏幕显示可能非常有用。 2 错误

错误并不终止L51的执行。这时产生的模块是不能使用的。但是此时的列表文件和屏幕显示可能非常有用。 3致命错误

致命错误发生时立即终止L51的执行。

1警告

*WARNING1:UNSOLVED EXTERNAL SYMBOLS SYMBOLS: external_name

MODULE: filename (modulename)

指定模块的外部符号在PUBLIC符号表中找不到

*WARNING2:REFERENCE MADE TO UNSOVED EXTERNAL SYMBOLS: external_name

MODULE: filename (modulename) ADDRESS:code_address

访问了未能匹配的外部符号code地址

*WARNING4:DATA SPACE MEMORY OVERLAP FROM:byte,bit,address TO: byte,bit,address

数据空间指定范围出现覆盖

*WARNING5:CODE SPACE MEMORY OVERLAP FROM:byte,bit,address TO: byte,bit,address

程序空间指定范围出现覆盖

*WARNING6:XDATA SPACE MEMORY OVERLAP FROM:byte,bit,address TO: byte,bit,address

外部数据空间指定范围出现覆盖

*WARNING7:MODULE NAME NOT UNIQUE MODULE:filename(modulename) 模块名重名。模块未处理

*WARNING8:MODULE NAME EXPLICITLY REQUESTED FROM ANOTHER FILE MODULE:filename(modulename) 其他文件指名要求本模块名

*WARNING9:EMPTY ABSOLUTE SEGMENT MODULE:filename(modulename)

本模块包含空的绝对段,因未定位,它可能在不通知的情况下随时被覆盖 *WARNING10:CANNOT DETERMINE ROOT SEGMENT

L51对输入文件要求分辨是C51还是PL/M文件,然后进行流程分析,在无法确定的时候,发出本警告。它发生在主程序被汇编调用的时候,需要程序员用OVERLAP特殊控制选项进行干预

*WARNING11:CANNOT FIND SEGMENT OR FUNCTION NAME NAME:overlap_control_name

在目标模块中找不到OVERLAP控制选项中规定的段或者函数间调用 *WARNING12:NO REFERENCE BETWEEN SEGMENTS SEGMENT1:segment_name SEGMENT2:segment_name

试图用OVERLAP控制选项删除本来不存在的段间访问或者函数间调用 *WARNING13:RECURSIVE CALL TO SEGMENT SEGMENT:segment_name CALLER:segment_name

CALLER段递归调用SEGMENT段。PL/M51和C51的非重入函数不允许递归调用 *WARNING14:IMCOMPIABLE MEMORY MODEL MODULE:filename(modulename) MODEL:memory_model

指定模块试图与以前不同的存储模式编译。 *WARNING15:MULTICALL TO SEGMENT SEGMENT:segment_name CALLER1:segment_name CALLER2:segment_name

两个函数调用同一个函数(如主函数和中断函数),参数和局部变量将被覆盖 *WARNING15:UNCALLED SEGMENT,IGNORED FOR OVERLAP PROCESS SEGMENT:segment_name

所给的段未被调用,已被排除在覆盖过程之外。 L51错误

*ERROR101: SEGMENT COMBINATION ERROR SEGMENT:segment_name

MODULE:filename(modulename)

由于连接错误所给段未能连入类型总段,并被忽略 *ERROR102:EXTERN ATTRIBUTE MISMATCH SYMBOL:external_name

MODULE:filename(modulename) 所给外部符号名属性错,并被忽略

*ERROR103:EXTERN ATTRIBUTE DO NOT MATCH PUBLIC SYMBOL:public_name

MODULE:filename(modulename)

所给外部符号名属性与公用符号名不匹配,并被忽略 *ERROR104:MUTIPULIC DEFINITION SYMBOL:pulic_name

MODULE:filename(modulename) 所给公用符号重名

*ERROR105:PUBLIC REFERS TO IGNORED SEGMENT SYMBOL:public_name

MODULE:filename(modulename) 所给外部符号名属性错,并被忽略 *ERROR106: SEGMENT OVERFLOW SEGMENT:segment_name 所给段长超过64,未处理

*ERROR107:ADDRESS SPACE OVERLAP SPACE:space_name

SEGMENT:segment_name

由于存储空间不够,所给类型总段未能装入,已被忽略

*ERROR108:SEGMENT IN LOCATING CONTROL CANNOT ALLOCATED SEGMENT:segment_name

命令行定位控制中的段由于属性问题未能分配 *ERROR109:EMPTY RELOCATABLE SEGMENT SEGMENT:segment_name

可在定位类型总段长度为零,未定位 *ERROR110:CANNOT FIND SEGMENT SEGMENT:segment_name

命令行所给的段在输入模块中未找到,被忽略

*ERROR111:SPECIFIED BIT ADDRESS NOT ON BYTE MEMORY SEGMENT:segment_name

位地址不在字界上,位段被忽略

*ERROR112:SEGMENT TYPE NOT LEGAL FOR COMMAND SEGMENT:segment_name

命令行所给的段类型非法,被忽略

*ERROR114:SEGMENT DOES NOT FIT SPACE:space_name

SEGMENT:segment_name BASE:base_address

LENGTH: segment_length

由于所给段的长度或者基地址未定位,故被忽略

*ERROR115:INPAGE SEGMENT IS GREATER THAN 256 BYTES SEGMENT:segment_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 TO ERRONEOUS EXTERNAL SYMBOL:symbol_name

MODULE:file_name(modulename) ADDRESS:code_address

企图访问错误的外部程序地址

*ERROR119:REFERENCE MADE TO ERRONEOUS SEGMENT SYMBOL:symbol_name

MODULE:file_name(modulename) ADDRESS:code_address 企图访问错误段的程序地址

*ERROR120:CONTENT BELONGS TO ERROREOUS SEGMENT SEGMENT:segment_name

MODULE:file_name(modulename) 该内容属于有错误的段

*ERROR121:IMPROPER FIXUP MODULE:file_name(modulename) SEGMENTsegment_name OFFSET:segment_name

根据所给段和偏移地址的到的是不当的地址 *ERROR122:CANNOT FIND MODULE MODULE:file_name(modulename) 命令行所给的模块未能找到 L51致命错误

*FATAL ERROR201:INVALID COMMAND LINE SYNTAX Partial command line

命令行句法错。命令行显示到出错处。

*FATAL ERROR202:INVALID COMMAND LINE ,TOKEN TOO LONG Partial command line

非法命令行,单词太长。命令行显示到出错处 *FATAL ERROR203:EXPECTED ITEM MISSING Partial command line

缺项。命令行显示到出错处。

*FATAL ERROR204:INVALID KEYWORD

Partial command line 非法关键字

*FATAL ERROR205:CONSTANT TOO LONG Partial command line

常量大于0xffff。命令行显示到出错处。 *FATAL ERROR206:INVALID CONSTANT Partial command line

命令行常量无效(如16进制数以字母开头)。命令行显示到出错处。 *FATAL ERROR207:INVALID NAME Partial command line

模块名或段名无效。命令行显示到出错处。 *FATAL ERROR208:INVALID FILENAME Partial command line

文件名无效。命令行显示到出错处。

*FATAL ERROR209:FILE USED IN CONLICTING CONTEXTS FILE:filename

所给的文件名用于有矛盾之处。命令行显示到出错处。 *FATAL ERROR210:I/O ERROR ON INPUT FILE System error message FILE:filename

访问输入文件时检测到有错,并有后面的EXCEPTION 给出具体的错误描述 *FATAL ERROR211:I/O ERROR ON OUTPUT FILE System error message FILE:filename

访问输出文件时检测到有错,并有后面的EXCEPTION 给出具体的错误描述 *FATAL ERROR212:I/O ERROR ON LISTING FILE System error message FILE:filename

访问列表文件时检测到有错,并有后面的EXCEPTION 给出具体的错误描述 *FATAL ERROR213:I/O ERROR ON WORK FILE System error message FILE:filename

访问工作文件时检测到有错,并有后面的EXCEPTION 给出具体的错误描述 *FATAL ERROR214:I/O INPUT PHASE ERROR MODULE:filename(modulename)

L51在进行第二次扫描时遇到不同的数据发生该错误,可能是因汇编错误引起 *FATAL ERROR215:CHECK SUM ERROR MODULE:filename(modulename) 校验和与文件内容不一致

*FATAL ERROR216:INSUFFICIENT MEMORY MODULE:filename(modulename) 执行L51 的内存空间不够

*FATAL ERROR217:NO MODULE TO BE PROCESSED 缺少应该被处理的模块