8086汇编言语错误的集合

来源:互联网 发布:以色列首都 知乎 编辑:程序博客网 时间:2024/05/22 11:08
源程序文件行:WARNING/ERROR错误信息码:错误描述信息
错误描述信息码由五字符组第字母A,表示汇编语言程序错;接着数字指明错类别:'2'严重错误,'4'严肃警告,'5'建议性警告,三位错误编号.错误编号错误描述0Block nesting error嵌套错.嵌套程,段,结构,宏指令或重复块等非结束.例嵌套语句外层结束语句,内层结束语局1Extra characters on line语句行余字符,能语句给参数太2Internal error-Register already defined内部错误.现该错误,请记发错误条件,并使用Product Assistance Request 表与Microsoft公司联系3Unkown type specifer未知类型说明符.例类型字符拼错,BYTE写BIT,NEAR写NAER等4Redefinition of symbol符号重定义.同标识符两位置定义.汇编第遍扫描,标识符第二定义位置给错误5Symbol is multidefined符号重定义.同标识符两位置定义.汇编第二遍扫描,每遇标识符都给错误6Phase error between passes两扫描间遍错.标号二扫描同址值,给种错误.若启MASM使用/D任选项,产第遍扫描列表文件,帮助查找种错误7Already had ELSE clause已ELSE语句.条件块使用于ELSE语句8Must be in conditional block没条件块.通ENDIF或ELSE语句,IF 语句9Symbol not defined符号未定义,程序引用未定义标识符10Syntax error语错误.汇编程序所能识别语句11Type illegal in context指定非类型.例程指定BYTE类型,NEAR或FAR12Group name must be unique组名应唯.作组名符号作其符号使用13Must be declared during pass 1必须第遍扫描期间定义.第遍扫描期间,符号未定义前引用,现种错误.14Illegal public declaration标识符非指定PUBLIC类型15Symbol already defferent kind重新定义符号同种类符号.例段名重新作变量名定义使用16Reserved word used as symbol汇编语言规定保留字作标识符使用17Forward reference illegal非向前引用.第遍扫描期间,引用未定义符号.18Operand must be register操作数位置应寄存器,现标识符19Wrong type of register使用寄存器错20Operand must be segment or group应该给段名或组名.例ASSUME语句应某段寄存器指定段名或组名,应别标号或变量名等21Symbol has no segment知道标识符段属性22Operand must be type specifier操作数应给类型说明,NEAR,FAR,BYTE等23Symbol alread defined locally指定内部标识符,企图EXTRN语句定义外部标识24Segment paraneters are changed段参数改变.同标识符定义同段内25Improper align/combin type段定义定位类型/组合类型使用错26Reference to multidefined symbol指令引用重定义标识符27Operand expected需要操作数,操作符28Operator expected需要操作符,操作数29Divdsion by 0 or overflow除0或溢30Negative shift count运算符SHL或SHR移位表达式值负数31Operand type must match操作数类型匹配.双操作数指令两操作数度致,字节,字32Illegal use of external外部符号使用错33Must be record field name应记录字段名.记录字段名位置现另外符号34Must be record name or field name应记录名或记录字段名.记录名或记录字段名位置现另外符号35Operand must be size应指明操作数度(BYTE,WORD等).通使用PTR运算即改36Must be variable,label,or constant应该变量名,标号,或数位置现其信息37Must be stucture field name应该结构字段名.结构字段名位置现另外符号38Lefe operand must segment操作数左边应该段信息.设DA1,DA2均变量名,列语句错误:"MOV AX,DA1:DA2".DA1位置应使用某段寄存器名39One operand must constant操作数必须数.40Operand must be in same segment or one constant"—"运算符用错.例"MOV AL,—VAR",其VAR变量名,应数参加运算.两同段变量名相减错41Normal type operand expected要求给操作数.42Constant expected要求给数.43Operand must have segment运算符SEG用错.44Must be associated with data必须与数据段关位置现代码段关项45Must be associated with code必须与代码段关位置现数据段关项46Multiple base registers同使用基址寄存器."MOV AX ,[SI][BP]"47Multiple index registers同使用变址寄存器."MOV AX ,[SI][DI]"48Must be index or base register指令仅要求使用基址寄存器或变址寄存器,能使用其寄存器.49Illegal use of register非使用寄存器错50Value is out of range数值太,超允许值.例:"MOV AL ,100H"51Operand not in current CS ASSUME segment操作数前代码段内.通指转移指令目标址前CS段内52Improper operand type操作数类型使用.例:"MOV VAR1,VAR2".两操作数均存储器操作数,能汇编目标代码53Jump out of range by %ld byte条件转移指令跳转范围超-128~ 127字节.错厂,信息同给超字节数54Index displacement must be constant变址寻址位移量必须数55Illegal register value非寄存器值.目标代码表达寄存器值超756Immediate mode illegal允许使用立即数寻址.例"MOV DS,CODE"其CODE段名,能段名作立即数传送给段寄存器DS57Illegal size for operand使用操作数(字节数)错.例:使用双字存储器操作数58Byte register illegal要求用字寄存器指令使用字节寄存器.PUSH,POP指令操作数寄存器必须字寄存器59Illegal uer of CS register指令错误使用段寄存器CS.:"MOV CS,AX"CS能做目操作数60Must be accumulator register要求用AX或AL位置使用其寄存器.IN,OUT指令必须使用累加器AX或AL61Improper uer of segment register允许使用段寄存器位置使用段寄存器."SHLDS,1"62Missing or unreachable CS试图跳转执行CS达标号.通指缺少ASSUME语句CS与代码段相关联63Operand combination illegal双操作数指令两操作数组合错64Near JMP/CALL to different CS试图用NEAR属性转移指令跳转前段址65Label cannot have segment override段前缀使用错66Must have instuction agter prefix重复前缀REP,REPE,REPNE面必须指令67Cannot override ES for destination串操作指令目操作数能用其段寄存器替代ES68Cannot address with srgment register指令寻找操作数,ASSUME语句未指明哪段寄存器与该操作数所段关联69Must be in segment block指令语句没段内70Cannot use EVEN or ALIGN with byte alignment段定义伪指令定位类型选用BYTE,能使用EVEN或ALIGN伪指令71Forward needs override or FAR转移指令目标没源程序说明FAR属性,用PTR指定72Illegal value for DUP count操作符DUP前重复数非或未定义73Symbol id already external模块内试图定义符号,已外部符号伪指令说明74DUP nesting too deep操作数DUP嵌套太深75Illegak use of undefinde operand( )定操作符" "使用.例"DB 10H DUP( 2)"76Too many valer for struc or record initialization定义结构变量或记录变量,初始值太77Angle brackets requored around initialized list定义结构体变量,初始值未用尖括号()括起78Directive illegal structure结构体定义伪指令使用.结构定义伪指令语句仅二种:号(;)始注释语句用DB,DW等数据定义伪指令语句79Override with DUP illegal结构变量初始值表使用DUP操作符错80Field cannot be overridden定义结构变量语句试图允许修改字段设置初值81Override id of wrong type定义结构变量语句设置初值类型错82Circular chain of EQU aliases用等值语句定义符号名,返指向自.:A EQU BB EQU A83Cannot emulate cooprocessor opcode 仿真器能支持8087协处理器操作码84End of file,not END directive 源程序文件END文件85Data emitted with no segment 语句数据没段内
0 0
原创粉丝点击