鱼C论坛

 找回密码
 立即注册
查看: 3871|回复: 2

[技术交流] 汇编编译常见错误汇总

[复制链接]
发表于 2012-4-23 00:18:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
友情提示:本文来源于网络,如有不懂,请百度,莫问我

FATAL  严重错误 
cannot open file不能打开文件  
I/O error closing fileI/O错误 正在关闭文件 
I/O error writing fileI/O错误 正在写文件 
I/O error reading file           I/O错误 正在读取文件 
out of memory             缺少内存 
assembler limit : macro parameter name table full     汇编限制:宏参数名表已满 
invalid command-line option          无效命令行参数 
nesting level too deep            嵌套过深 
unmatched macro nesting           不正确的宏嵌套 
line too long                 行太长 
unmatched block nesting                  不正确的区、段嵌套 
directive must be in control block               指令必须在控制段 
error count exceeds 100; stopping assembly            错误数超过100,停止汇编 
invalid numerical command-line argument               无效命令行参数 
too many arguments                                    太多参数、定义、冲突 
statement too complex                                  声明太复杂 
Internal Assembler Error                        内部汇编错误 
missing source filename                               找不到源文件名 
COFF error writing file                     COFF错误,正在写文件 
invalid debug and browser data; file exceeds line limit       不能排除故障和浏览数据;文件超过行限制 
cannot find link.exe                             找不到连接程序 
cannot find cvpack.exe                         找不到cvpack.exe  
SEVERE                             严重的错误 
memory operand not allowed in context                 内存操作数无法载入上下文环境 
immediate operand not allowed                     当前操作数无法载入 
cannot have more than one ELSE clause per IF block           IF段只能有一个ELSE从句 
extra characters after statement                          附加的字符在声明之后 
symbol type conflict                            符号类型冲突 
symbol redefinition                          符号已经定义 
undefined symbol                         符号没有定义 
non-benign record redefinition                     没有利于记录的定义 
syntax error                               语法错误 
syntax error in expression                  表达式存在语法错误 
invalid type expression                     无效的类型表达式 
distance invalid for word size of current segment          当前区、段的大小命令无效 
PROC, MACRO, or macro repeat directive must precede LOCAL     PROC, MACRO, 或 macro repeat指令必须在LOCAL之前 
.MODEL must precede this directive                          .MODEL必须在指令之前 
cannot define as public or external                    不能定义为公有或外部的 
segment attributes cannot change                       区、段属性不能更换 
expression expected                  预期表达式 
operator expected                     预期操作数 
invalid use of external symbol              使用了无效的外部符号 
operand must be RECORD type or field           操作数必须是RECORD类型或域 
identifier not a record                     没有记录标示符 
record constants may not span line breaks                连续记录不能超过行间隔 
instruction operands must be the same size       命令操作数必须是一样的长度 
instruction operand must have size            命令操作数必须有长度 
invalid operand size for instruction           操作数长度对于指令无效 
operands must be in same segment             操作数必须在相同的段 
constant expected                        连续预期 
operand must be a memory expression            操作数必须是一个内存表达式 
expression must be a code address            表达式必须是一个办国外文/凭=**码地址 
multiple base registers not allowed            不允许多重基础寄存器 
multiple index registers not allowed          不允许多重标志寄存器 
must be index or base register                 必须是基础或标志寄存器 
invalid use of register                    使用的寄存器无效 
invalid INVOKE argument                  无效的INVOKE符号 
must be in segment block                 必须在区、段、块中 
DUP too complex                         DUP太复杂 
too many initial values for structure               太多结构的基础资料 
statement not allowed inside structure definition        声明不允许在结构里面 
missing operand for macro operator            找不到宏的操作数 
line too long 
segment register not allowed in context           上下文不允许有寄存器 
string or text literal too long                文本或字符串太长 
statement too complex                   声明太复杂 
identifier too long                      标识符太长 
invalid character in file                文件里有无效字符 
missing angle bracket or brace in literal        语句里找不到同样的括弧或框架 
missing single or double quotation mark in string         找不到单引号或双引号 
empty (null) string               没有字符串 
nondigit in number                  没有总数 
syntax error in floating-point constant          不确定的指向中有语法错误 
real or BCD number not allowed               不允许real或BCD编码 
text item required                      必须的文本项 
forced error                          强制错误 
forced error : value equal to 0                标准等于零 
forced error : value not equal to 0            标准不等于零 
forced error : symbol not defined           符号没有定义 
forced error : symbol defined              符号已定义 
forced error : string blank                  字符串是空的 
forced error : string not blank            字符串不是空的 
forced error : strings equal             字符串是相同的 
forced error : strings not equal             字符串不是相同的 
[ELSE]IF2/.ERR2 not allowed : single-pass assembler         [ELSE]IF2/.ERR2不允许单独汇编 
expression too complex for .UNTILCXZ            .UNTILCXZ表达式太复杂 
can ALIGN only to power of 2                   仅能对齐到2的幂 
structure alignment must be 1, 2, 4, 8, or 16            结构对齐必须是1,2,4,8或16 
expected              预定义   
incompatible CPU mode and segment size             不匹配的CPU模式和段尺寸 
LOCK must be followed by a memory operation         LOCK指令必须跟在内存操作之后 
instruction prefix not allowed                   不允许的命令前缀 
no operands allowed for this instruction         指令没有操作数 
invalid instruction operands                  无效的指令操作数 
initializer magnitude too large for specified size       初始指定尺寸太大 
cannot access symbol in given segment or group       在特定的段或类不能存取符号 
operands have different frames                 操作数存在不同的结构 
cannot access label through segment registers       在段寄存器中不能存取标记 
jump destination too far                           跳转目标太远 
jump destination must specify a label          跳转目标必须指定一个标记 
instruction does not allow NEAR indirect addressing     指令不允许近间接寻址 
instruction does not allow FAR indirect addressing     指令不允许远间接寻址 
instruction does not allow FAR direct addressing      指令不允许远直接寻址 
jump distance not possible in current CPU mode      跳转距离不适合当前CPU模式 
missing operand after unary operator                一元运算符之后找不到操作数 
cannot mix 16- and 32-bit registers                不能结合16位和32位寄存器 
invalid scale value                               无效范围标准 
constant value too large            连续标准太多 
instruction or register not accepted in current CPU mode  当前CPU模式不认可的指令或寄存器 
reserved word expected                     预期的保留字 
instruction form requires 80386/486                指令需要80386/486指示    
END directive required at end of file                       END指令必须在文件结尾 
too many bits in RECORD                                     太多位在记录里 
positive value expected                                     预期的明确的标准 
index value past end of string                             索引标准在字符串结尾之后 
count must be positive or zero                             计数必须是零或明确的 
count value too large                                       计数标准太多 
operand must be relocatable                                 操作数必须是转移表 
constant or relocatable label expected                      预期的转移表或连续的 
segment, group, or segment register expected                  预期的段,类型或段寄存器 
segment expected                                               预期的区段 
invalid operand for OFFSET                                   OFFSET操作数无效 
invalid use of external absolute                            由于完全外部的使用无效 
segment or group not allowed                              区段或类型不允许 
cannot add two relocatable labels                        不能增加双重转移表标记 
cannot add memory expression and code label                 不能增加内存表达式和办国外文/凭=**码标记 
segment exceeds 64K limit                                  区段超过64K限制 
invalid type for a data declaration                        数据声明了一个无效的类型 
HIGH and LOW require immediate operands                   HIGH和LOW指令依赖立即操作数 
N/A 
cannot have implicit far jump or call to near label       不能有不明确的远跳转或近调用 
use of register assumed to ERROR                            使用寄存器指定错误 
only white space or comment can follow backslash             仅空白区域或注释能削减 
COMMENT delimiter expected                  预期的注释分割符 
conflicting parameter definition                            汇集参数定义 
PROC and prototype calling conventions conflict                PROC和proto的类型冲突 
invalid radix tag                                              无效标签 
INVOKE argument type mismatch : argument                     INVOKE定义的类型匹配不当 
invalid coprocessor register                                      无效工作记录 
instructions and initialized data not allowed in AT segments    指令和数据不允许在AT段 
/AT switch requires the TINY memory model                     /AT开关使用在TINY模式 
cannot have segment address references with TINY model           TINY模式段段地址没有确定 
language type must be specified                                语言类型必须指定 
PROLOGUE must be macro function                                   PROLOGUE必须是宏函数 
EPILOGUE must be macro procedure                                 EPILOGUE必须是宏程序 
alternate identifier not allowed with EXTERNDEF               交替标示符不允许和EXTERNDEF在一起   
text macro nesting level too deep                            文本宏嵌套太深 
N/A 
missing macro argument                                       找不到宏定义 
EXITM used inconsistently                                  EXITM常用于不稳定时 
macro function argument list too long                        宏函数定义表太长 
N/A 
VARARG parameter must be last parameter                         VARARG参数必须在最后 
VARARG parameter not allowed with LOCAL                     VARARG参数不允许和LOCAL在一起 
VARARG parameter requires C calling convention               VARARG参数依赖C调用协议 
ORG needs a constant or local offset                        ORG必须是常量或局部偏移量 
register value overwritten by INVOKE                        寄存器标准扩展到INVOKE 
structure too large to pass with INVOKE : argument            结构太大超过INVOKE标准 
not overriding private proc as public                    不能使private函数成为public 
too many arguments to INVOKE                               INVOKE中定义太多 
too few arguments to INVOKE                                INVOKE中定义太少 
invalid data initializer                                    无效初始化数据 
N/A 
RET operand too large                                      RET操作数太大 
too many operands to instruction                           指令操作数过多 
cannot have more than one .ELSE clause per .IF block       .IF段不能超过一个.ELSE从句 
expected data label                                            预期的数据标签 
cannot nest procedures                                      不能构造程序 
EXPORT must be FAR                                         EXPORT不许是FAR 
procedure declared with two visibility attributes          程序已声明两个可见属性 
macro label not defined                                       宏标签未定义 
invalid symbol type in expression                         表达式有无类型的符号 
byte register cannot be first operand                     字节寄存器不能是第一操作数 
word register cannot be first operand                      字寄存器不能是第一操作数 
special register cannot be first operand                  特殊寄存器不能是第一操作数 
coprocessor register cannot be first operand             设备寄存器不能是第一操作数 
cannot change size of expression computations              不能改变表达式尺寸 
syntax error in control-flow directive                     流控制指令中有语法错误 
cannot use 16-bit register with a 32-bit address           不能用16位寄存器标示32位地址 
constant value out of range                                  常量标准输出范围 
missing right parenthesis                                   找不到正确的圆括号 
type is wrong size for register                           对于寄存器类型不正确 
structure cannot be instanced                              结构不能是实例 
non-benign structure redefinition: label incorrect           无益的结构定义:标签组合 
non-benign structure redefinition: too few labels           无益的结构定义:太少标签 
OLDSTRUCTS/NOOLDSTRUCTS state cannot be changed              OLDSTRUCTS/NOOLDSTRUCTS状态不能改变 
non-benign structure redefinition: incorrect initializers         无益的结构定义:初始化组合 
non-benign structure redefinition: too few initializers          无益的结构定义:缺少初始化 
non-benign structure redefinition: label has incorrect offset    无益的结构定义:标签包含偏移地址 
structure field expected                                       预期的结构域 
unexpected literal found in expression                         表达式没有预期的构建 
N/A 
divide by zero in expression                                表达式除零错误 
directive must appear inside a macro                       指令必须出现在宏里面 
cannot expand macro function                                  不能扩展宏函数 
too few bits in RECORD                                     RECORD里位太少 
macro function cannot redefine itself                       宏函数不能定义自己 
N/A 
invalid qualified type                                    无效的不合适的类型 
floating-point initializer on an integer variable          整数里有浮点初始化 
nested structure improperly initialized                    构造结构时初始化不当 
invalid use of FLAT                                          平坦模式使用无效 
structure improperly initialized                             结构初始化不当            
improper list initialization                               列表初始化不当 
initializer must be a string or single item                初始化必须是字符或单独的项 
initializer must be a single item                          初始化必须是单独的项 
initializer must be a single byte                         初始化必须是单一字节 
improper use of list initializer                           没有恰当地使用初始化表 
improper literal initialization                            初始化不当 
extra characters in literal initialization                 语句初始化中有外部字符 
must use floating-point initializer                          必须使用浮点初始化 
cannot use .EXIT for OS_OS2 with .8086                     不能用.EXIT到OS_OS2在.8086时 
invalid combination with segment alignment                   无效的对齐组合 
INVOKE requires prototype for procedure                       INVOKE依赖于函数原型 
cannot include structure in self                           不能连接结构在自己 
symbol language attribute conflict                           符号表达式可能冲突 
non-benign COMM redefinition                                   无益的COMM定义 
COMM variable exceeds 64K                                  COMM变量超过64K    
parameter or local cannot have void type                   参数或局部量不能有空类型 
cannot use TINY model with OS_OS2                          TINY不能用于OS_OS2 
expression size must be 32 bits                            表达式长度必须是32位 
.EXIT does not work with 32-bit segments                  .EXIT不能工作在32位段 
.STARTUP does not work with 32-bit segments               .STARTUP不能工作在32位段 
ORG directive not allowed in unions                         联合里不允许有ORG指令 
D/T 
illegal use of segment register                           不合法地使用了段寄存器 
cannot declare scoped code label as PUBLIC                不能声明办国外文/凭=**码范围标签如PUBLIC 
.MSFLOAT directive is obsolete : .MSFLOAT ignored        .MSFLOAT指令已废弃:忽略.MSFLOAT指令 
ESC instruction is obsolete : ESC ignored                 ESC指令已废弃:忽略ESC指令 
missing operator in expression                             找不到操作表达式的指令 
missing right parenthesis in expression                   找不到表达式右侧的括号 
missing left parenthesis in expression                     找不到表达式左侧的括号 
reference to forward macro definition                       参考前面的宏定义 
16 bit segments not allowed with /coff option              16位段不允许用/COFF参数 
FAR not allowed in flat model comm variables               FAR不允许在平坦模式COMM变量里 
invalid .model parameter for flat model                    无效的.model参数对于平坦模式 
ALIAS name is empty                                         别名是空的 
GROUP directive not allowed with /coff option               GROUP指令不允许/COFF选项 
.FPO is not compatible with nested procedures               .FPO不相容于构建过程 
LEVEL 1 
cannot modify READONLY segment                                 不能修改READONLY段 
N/A  
non-unique STRUCT/UNION field used without qualification        没有限制时STRUCT/UNION域不唯一 
start address on END directive ignored with .STARTUP            有起始地址时END指令忽略.STARTUP 
cannot ASSUME CS                                                不允许  ASSUME CS 
unknown default prologue argument                             未知的预处理定义 
too many arguments in macro call                                 在宏调用中有太多定义 
option untranslated, directive required                          参数未转化,指令必须 
invalid command-line option value, default is used              无效的命令行选项定,使用默认参数 
insufficent memory for /EP : /EP ignored                         /EP要有足够的内存:/EP忽略 
expected '>' on text literal                                      文本有预期的>符号 
multiple .MODEL directives found : .MODEL ignored                 多个.MODEL指示创建:.MODEL忽略 


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-23 00:19:40 | 显示全部楼层
line number information for segment without class 'CODE' 不附带CODE时告知行号 
instructions and initialized data not supported in AT segments 在AT段不支持指令和初始化数据 
instructions and initialized data not supported in BSS segments 在BSS段不支持指令和初始化数据 
directive ignored with /coff switch 指令忽略/COFF开关 
/Gc switch incompatible with flat model /Gc开关不符合平坦模式 
/AT switch incompatible with flat model /AT开关不符合平坦模式 
invalid command-line option 无效命令行选项 
directive ignored without /coff switch 在没有/COFF开关时忽略指令 
directive ignored outside a procedure 在程序之外指令忽略 
LOADDS ignored in flat model 在远模式忽略LOADDS 
debug information too complex for 调试信息太复杂 
with /coff switch, leading underscore required for start address 必须的起始地址之下 /COFF开关 
LEVEL 2 
@@: label defined but not referenced @@:标签明确但是没有提及 
expression expected, assume value 0 表达式预期标准指定零 
EXTERNDEF previously assumed to be external EXTERNDEF在指定之前是外部的 
length of symbol previously assumed to be different 符号的长度在指定之前不同 
symbol previously assumed to not be in a group 符号指定之前在不同的集合 
types are different 类型不同 
calling convention not supported in flat model CALL协定不支持远模式 
LEVEL 3 
N/A 
no return from procedure 没有返回步骤 
N/A 
conditional jump lengthened 条件跳转延长 
procedure argument or local not referenced 程序段或局部段不确定 
expression may be pass-dependent 表达式可能经过依赖 
structure contains no members 结构包含不可能的成员
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-11-3 02:35:14 | 显示全部楼层
Mark,多谢分享。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 13:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表