MPASM错误/警告信息
错误/警告信息
MPASM汇编一个源程序后,可以产生一个.ERR文件,该文件用来存放汇编后可能产生的错误或警告信息。必须强调的是错误信息(Error)是指出源程序中出现"致命"(fatal)的错误,用户必须修改直至汇编后Errors= 0。而警告信息(Warnings)是指出源程序中可能有问题的地方,但并不一定是"致命"错误,只是提醒用户去注意这些被警告的地方。如果用户可以确认无误,便可以不理会产生的Warnings。
一、错误信息
1.Address exceeds maximum limit avaiable
程序存储器地址溢出(超出)有效范围。
2.Attempt to redefine reserved word
MPASM中的保留字如"END"、"ERROR"、"HIGH"、"LOW"和"PAGE"被重定义,用户必须避免再将其用做标号或变量。
3.Branch or jump out of range
程序跳转指令如"GOTO"、"CALL"等超出规定的范围。
4.Couldn’t open…
TMPASM 不能打开".OBJ"、".map"、".Hex"、".Err"、".Lst"或".ref"文件。一般是电脑已没有足够的磁盘空间。
5.Couldn’t open source file…
汇编的源程序文件不存在。
6.Duplicate lable or redefininy symbol that cannot be redefined
标号或变量名重复定义。
7.Error in parameter
参数错误。
8.Expected…
源程序行有错。
9.File not found
指定的文件找不到。
10.Illegal argument
非法参数。
11.Illegal condition
IF语句中的条件符号出错。
12.Illegal condition,EOF encountered before END or conditional end directive
IF、WHILE或MACRO语句中缺少相应的ENDIF、ENDW和ENDM。
13.Illegal conditional compile
IF/ELSE/ENDIF结构书写有错。
14.Illegal character…in label…
在标号字符中出现非法字符。合法的字符是"-"、"·"、"A"~"Z"、"a"~"z"、"0"~"9"。
15.Illegal digit
非法数字。如在十进制数中出现十六进制符等。
16.Illegal opcode
非法操作数。
17.Include file not found
Include 指令中的文件找不到。
18.Include files nested too cleep
Include 文件嵌套太多。Include 文件嵌套最多的为5重。
19.Macro name missing
缺少宏定义名称。
20.Marco nested too deep
宏体嵌套太多。宏体中最多可嵌套8重。
21.Missing arguments
缺少参数,如指令中缺少操作数等。
22.Missing terminator
缺少配对符,如各种括号")"、"〕"、"}"或"·"、空格等。
23.Nested forward reference not allowed.
使用未定义的标号、变量、宏定义等。或者是MPASM不能确认标号的类型,一般由标号重复定义引起。
24.Out of memory
程序空间溢出。
25.Overwriting previous address contents
程序空间重复使用。一般由地址定义指令ORG定义不当引起。
26.Processor type is undefined
单片机芯片型号未定义。要么在源程序中未定义,要么在使用MPASM汇编时未定义。
27.Processor type previously defined
单片机芯片型号重复定义。
28.Symbol table full
符号表溢出。
29.Temp file creation error
MPASM在汇编过程中会使用一些临时性文件。这个错一般是电脑磁盘满或读写出错引起。
30.Too many arguments
参数太多,如指令操作符带过多的操作数。
31.Undefined argument
使用了未定义的参数。
32.Unknow error
MPASM碰到未知的错,这种情况一般很少发生。
33.While failed to terminate within 256 iterationg
While 语句中没有结束的条件产生。
二、警告信息
1.Addresses above 32K not currently supported. Using MaxRom.
MPASM目前只允许源程序使用8000H(32K)以下的程序地址。将来可以增加到64K。
2.Argument out of rauge,least significant bits used.
参数超出所允许的范围值。MPASM一般会把超出的值自动截为认可的最大值。
3.Crossing page boundary--ensure page blts are set
MPASM通知你程序跨页面了,建议你确认相应的页面位是否已经设置了。
4.…Is not currently supported
使用了MPASM尚未支持的指令。
5.…Not a single byte quantity
使用了超出8位的数值。
6.This number is being treated as a binary representation
MPASM碰到不知是二进制或十六进制的值,如b 0101。这时MPASM都会把它当做二进制处理。上例如果要表示16进制,应写成ox b0101或H’b0101’。








