【转】汇编中常见的错误

发布时间:2012年12月9日 作者:未知 查看次数:8094

【转】汇编中常见的错误


http://hi.baidu.com/symdfbb/item/2fd6cdb446603e9b19469703

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忽略
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                                           结构包含不可能的成员

 



版权所有!www.sieye.cn
E.Mail:sieye@sohu.com QQ:66697110