对象的声明至多只能包含 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’ ;’before ‘token’
该错误表示分号丢失,通常该错误会引发一连串的错误,引发的这些错误无关紧要。因为
缺少分号后编译器不能做正确的语法分析
*ERROR 130:value out of range
using 或 interrupt 指令后参数越限。using 用的寄存器组号位 0-3,interrupt 需要 0-15 的中断
号
*ERROR 131:duplicate function-parameter
函数中形参名重复,形参名应彼此不同
*ERROR 132:not in formal parameter list
函数内参数声明使用的名字未出现在参数表中
*ERROR 133:char function(v0,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 variable
‘void’类型只允许作为函数的返回类型或与指针类型合用(void*)
*ERROR 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
位变量的定义可包含修饰符 DATA,如果无修饰符则假定为 DATA。因为位变量始终位于
0x4xxx 的内部数据存储器中,当试图采用其他存储空间就会产生这个错误。
*ERROR 141:NEAR<token>:expected<token>
编译器所见的单词是错误的。期望正确的单词
*ERROR 142:invalid base address
Sfr 说明中的基址有错。有效基址为 0x80-0xff。如果声明采用 base^pos 形式,则基址是 8 的
整数倍
*ERROR 143:invalid absolute bit position
Sbit 说明中位地址必须在 0x80-0xff 之间
*ERROR 144:base^pos:invalid bit position
Sbit 说明中位 pos 必须在 0~7 之间