汇编错误对照表

合集下载

汇编ml.exe错误信息大全(带中文翻译)

汇编ml.exe错误信息大全(带中文翻译)
invalid use of register 使用的寄存器无效
invalid INVOKE argument 无效的INVOKE符号
must be in segment block 必须在区、段、块中
cannot find cvpack.exe 找不到cvpack.exe
SEVERE 严重的错误
memory operand not allowed in context 内存操作数无法载入上下文环境
.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类型或域
statement too complex 声明太复杂
identifier too long 标识符太长
invalid character in file 文件里有无效字符
missing angle bracket or brace in literal 语句里找不到同样的括弧或框架
invalid type expression 无效的类型表达式
distance invalid for word size of current segment 当前区、段的大小命令无效

汇编常见错误解决方法总结

汇编常见错误解决方法总结

汇编常见错误解决⽅法总结汇编常见错误总结Block 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 specifierSymbol 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 sizeMust 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]"指令仅要求使⽤基址寄存器或变址寄存器,⽽不能使⽤其他寄存器.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是段名,不能把段名作为⽴即数传送给段寄存器DS 57Illegal 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或AL不允许使⽤段寄存器的位置上使⽤了段寄存器.如"SHL DS,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在模块内试图定义的符号,它已在外部符号伪指令中说明DUP 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 语句数据没有在段内86 can't open ml.err把下⾯的复制到⼀个⽂档,命名为ml.err添加到⼯程⽬录FATALcannot open fileI/O error closing fileI/O error reading fileout of memoryassembler limit : macro parameter name table fullinvalid command-line optionnesting level too deepunmatched macro nestingline too longunmatched block nestingdirective must be in control blockerror count exceeds 100; stopping assemblyinvalid numerical command-line argumenttoo many argumentsstatement too complexInternal Assembler Errormissing source filenameCOFF error writing fileinvalid debug and browser data; file exceeds line limitcannot find link.execannot find cvpack.exeSEVEREmemory operand not allowed in contextimmediate operand not allowedcannot have more than one ELSE clause per IF blockextra characters after statementsymbol type conflictsymbol redefinitionundefined symbolnon-benign record redefinitionsyntax errorsyntax error in expressioninvalid type expressiondistance invalid for word size of current segmentPROC, MACRO, or macro repeat directive must precede LOCAL .MODEL must precede this directivecannot define as public or externalsegment attributes cannot changeexpression expectedoperator expectedinvalid use of external symboloperand must be RECORD type or fieldidentifier not a recordrecord constants may not span line breaksinstruction operands must be the same sizeinstruction operand must have sizeinvalid operand size for instructionoperands must be in same segmentconstant expectedoperand must be a memory expressionexpression must be a code addressmultiple base registers not allowedmultiple index registers not allowedmust be index or base registerinvalid use of registerinvalid INVOKE argumentmust be in segment blockDUP too complextoo many initial values for structurestatement not allowed inside structure definitionmissing operand for macro operatorline too longsegment register not allowed in contextstring or text literal too longstatement too complexidentifier too longinvalid character in filemissing angle bracket or brace in literalmissing single or double quotation mark in stringempty (null) stringnondigit in numbersyntax error in floating-point constantreal or BCD number not allowedtext item requiredforced errorforced error : value equal to 0forced error : value not equal to 0forced error : symbol not definedforced error : symbol definedforced error : string blankforced error : string not blankforced error : strings equalforced error : strings not equal[ELSE]IF2/.ERR2 not allowed : single-pass assemblerstructure alignment must be 1, 2, 4, 8, or 16expectedincompatible CPU mode and segment sizeLOCK must be followed by a memory operation instruction prefix not allowedno operands allowed for this instructioninvalid instruction operandsinitializer magnitude too large for specified sizecannot access symbol in given segment or group operands have different framescannot access label through segment registersjump destination too farjump destination must specify a labelinstruction does not allow NEAR indirect addressing instruction does not allow FAR indirect addressing instruction does not allow FAR direct addressingjump distance not possible in current CPU modemissing operand after unary operatorcannot mix 16- and 32-bit registersinvalid scale valueconstant value too largeinstruction or register not accepted in current CPU mode reserved word expectedinstruction form requires 80386/486END directive required at end of filetoo many bits in RECORDpositive value expectedindex value past end of stringcount must be positive or zerocount value too largeoperand must be relocatableconstant or relocatable label expectedsegment, group, or segment register expectedsegment expectedinvalid operand for OFFSETinvalid use of external absolutesegment or group not allowedcannot add two relocatable labelscannot add memory expression and code labelsegment exceeds 64K limitinvalid type for a data declarationHIGH and LOW require immediate operandsN/Acannot have implicit far jump or call to near labeluse of register assumed to ERRORonly white space or comment can follow backslash COMMENT delimiter expectedconflicting parameter definitionPROC and prototype calling conventions conflictinvalid radix tagINVOKE argument type mismatch : argumentinvalid coprocessor registerinstructions and initialized data not allowed in AT segments /AT switch requires the TINY memory modelcannot have segment address references with TINY model language type must be specifiedPROLOGUE must be macro functionEPILOGUE must be macro procedurealternate identifier not allowed with EXTERNDEFtext macro nesting level too deepN/Amissing macro argumentEXITM used inconsistentlymacro function argument list too longN/AVARARG parameter must be last parameterVARARG parameter not allowed with LOCALVARARG parameter requires C calling conventionORG needs a constant or local offsetregister value overwritten by INVOKEstructure too large to pass with INVOKE : argumentnot overriding private proc as publictoo many arguments to INVOKEtoo few arguments to INVOKEinvalid data initializerN/ARET operand too largetoo many operands to instructioncannot have more than one .ELSE clause per .IF block expected data labelcannot nest proceduresEXPORT must be FARinvalid symbol type in expressionbyte register cannot be first operandword register cannot be first operandspecial register cannot be first operandcoprocessor register cannot be first operandcannot change size of expression computationssyntax error in control-flow directivecannot use 16-bit register with a 32-bit addressconstant value out of rangemissing right parenthesistype is wrong size for registerstructure cannot be instancednon-benign structure redefinition: label incorrectnon-benign structure redefinition: too few labels OLDSTRUCTS/NOOLDSTRUCTS state cannot be changed non-benign structure redefinition: incorrect initializersnon-benign structure redefinition: too few initializersnon-benign structure redefinition: label has incorrect offset structure field expectedunexpected literal found in expressionN/Adivide by zero in expressiondirective must appear inside a macrocannot expand macro functiontoo few bits in RECORDmacro function cannot redefine itselfN/Ainvalid qualified typefloating-point initializer on an integer variablenested structure improperly initializedinvalid use of FLATstructure improperly initializedimproper list initializationinitializer must be a string or single iteminitializer must be a single iteminitializer must be a single byteimproper use of list initializerimproper literal initializationextra characters in literal initializationmust use floating-point initializercannot use .EXIT for OS_OS2 with .8086invalid combination with segment alignmentINVOKE requires prototype for procedurecannot include structure in selfsymbol language attribute conflictnon-benign COMM redefinitionCOMM variable exceeds 64Kparameter or local cannot have void typecannot use TINY model with OS_OS2expression size must be 32 bits.EXIT does not work with 32-bit segments.STARTUP does not work with 32-bit segmentsORG directive not allowed in unionsD/Tillegal use of segment registercannot declare scoped code label as PUBLIC.MSFLOAT directive is obsolete : .MSFLOAT ignored ESC instruction is obsolete : ESC ignoredmissing operator in expressionmissing right parenthesis in expressionmissing left parenthesis in expressionreference to forward macro definition16 bit segments not allowed with /coff optionFAR not allowed in flat model comm variablesinvalid .model parameter for flat modelALIAS name is emptyGROUP directive not allowed with /coff option.FPO is not compatible with nested proceduresLEVEL 1cannot modify READONLY segmentN/Anon-unique STRUCT/UNION field used without qualification start address on END directive ignored with .STARTUP cannot ASSUME CSunknown default prologue argumenttoo many arguments in macro calloption untranslated, directive requiredinvalid command-line option value, default is used insufficent memory for /EP : /EP ignoredexpected '>' on text literalmultiple .MODEL directives found : .MODEL ignoredline number information for segment without class 'CODE'directive ignored with /coff switch/Gc switch incompatible with flat model/AT switch incompatible with flat modelinvalid command-line optiondirective ignored without /coff switchdirective ignored outside a procedureLOADDS ignored in flat modeldebug information too complex forwith /coff switch, leading underscore required for start addressLEVEL 2@@: label defined but not referencedexpression expected, assume value 0EXTERNDEF previously assumed to be externallength of symbol previously assumed to be differentsymbol previously assumed to not be in a grouptypes are differentcalling convention not supported in flat modelLEVEL 3N/Ano return from procedureN/Aconditional jump lengthenedprocedure argument or local not referencedexpression may be pass-dependentstructure contains no members87加上.386之后出现乱码应该在.model语句之后加.386使⽤的是 Masm 的话,这⾥有个约定。

行政执法办案常见错误问题汇编

行政执法办案常见错误问题汇编

行政执法办案常见错误问题汇编作者:沙漠银狐特别说明:本文选自网络,从内容上判断,有关问题出现在工商行政执法过程中,但就行政执法的一般性规范和执法程序而言,对烟草行政执法同样具有借鉴意义(一)步骤缺失1、向行政相对人表明身份。

突出表现在执法人员在对有关场所进行检查、询问当事人、询问证人之前不向当事人表明身份出示执法证件,直接进行现场检查或询问当事人、证人,这样做直接影响到所制作的现场检查笔录、询问笔录的证明能力。

此类问题在多个案卷中发生。

2、复制证据的核对、确认。

执法人员在复制证据材料的当场对复制件进行核对,在复制件上标注“经核对与原件无误”等字样。

特别注意的是行政处罚决定书上不得加有“经核对与原件无误”签章;各种证据材料的复制件必须有提供人的亲笔签名、盖章。

3、陈述、申辩的复核程序。

执法人员对案件不得先入为主,主观认为当事人陈述、申辩只是形式上的东西,不能认为当事人的陈述与申辩是“不老实”、“狡辩”,转而在实际*作中对当事人的陈述不理睬、不受理,同时也不允许简单地把陈述材料归入案卷不进行认真复核。

(二)顺序颠倒1、先调查后立案。

执法人员不得在发现案件后即对案件进行调查取证,待案件事实查清、取证结束后才填写立案审批表、行政处罚决定审批表报领导审批。

这就导致虽然案件有立案,但此时的立案是在案件调查取证之后进行的,使“立案”失去了原有的法律意义,是不符合法律程序要求的。

2、先核准后审核。

办案机构应当在案件调查终结后写出调查终结报告,并草拟行政处罚决定书,连同案卷交由核审机构进行书面核审。

核审机构核审后,由办案机构将整个案卷及核审机构的核审意见报局长批准。

我区基层执法办案突出的问题是:办案机构在办案过程中针对所有具体问题及处罚建议都事先请示局长,经过局长认可后才向核审机构审核,此行为违反法定的程序要求,应当予以禁止。

3、先签发后告知。

在对当事人进行行政处罚告知后,应在法定期限届满后才能签发行政处罚决定书,不得在局长签发行政处罚决定审批表的同时连同处罚决定书一起签发,这将严重违反法律程序。

汇编语言入门

汇编语言入门

汇编语言入门教程对初学者而言,汇编的许多命令太复杂,往往学习很长时间也写不出一个漂漂亮亮的程序,以致妨碍了我们学习汇编的兴趣,不少人就此放弃。

所以我个人看法学汇编,不一定要写程序,写程序确实不是汇编的强项,大家不妨玩玩DEBUG,有时CRACK出一个小软件比完成一个程序更有成就感(就像学电脑先玩游戏一样)。

某些高深的指令事实上只对有经验的汇编程序员有用,对我们而言,太过高深了。

为了使学习汇编语言有个好的开始,你必须要先排除那些华丽复杂的命令,将注意力集中在最重要的几个指令上(CMP LOOP MOV JNZ……)。

但是想在啰里吧嗦的教科书中完成上述目标,谈何容易,所以本人整理了这篇超浓缩(用WINZIP、WINRAR…依次压迫,嘿嘿!)教程。

大言不惭的说,看通本文,你完全可以“不经意”间在前辈或是后生卖弄一下DEBUG,很有成就感的,试试看!那么――这个接下来呢?――Here we go!(阅读时看不懂不要紧,下文必有分解)因为汇编是通过CPU和内存跟硬件对话的,所以我们不得不先了解一下CPU和内存:(关于数的进制问题在此不提)CPU是可以执行电脑所有算术╱逻辑运算与基本I/O 控制功能的一块芯片。

一种汇编语言只能用于特定的CPU。

也就是说,不同的CPU其汇编语言的指令语法亦不相同。

个人电脑由1981年推出至今,其CPU发展过程为:8086→80286→80386→80486→PENTIUM →……,还有AMD、CYRIX等旁支。

后面兼容前面CPU的功能,只不过多了些指令(如多能奔腾的MMX指令集)、增大了寄存器(如386的32位EAX)、增多了寄存器(如486的FS)。

为确保汇编程序可以适用于各种机型,所以推荐使用8086汇编语言,其兼容性最佳。

本文所提均为8086汇编语言。

寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。

用途:1.可将寄存器内的数据执行算术及逻辑运算。

结算审核常见错误汇编(1)

结算审核常见错误汇编(1)
4 5
塔吊基础的费用
放坡及工作面产生的 在分部分项中计费 土石方 人工材料价差的调整 把大部分人工材料按价格较高的取定
二 套价错误 1 机械凿水泥搅拌桩护 套人工凿桩头 壁 没有完全匹配的子目,套更接近的凿高压旋喷桩
2
信息价中有φ 50的泥浆泵台班费,且该台班费比φ 100的污水泵台 φ 45,φ 50的污水泵台 信息价没有φ 45,φ 50的污水泵台班费用,于是按φ 班费还更少,故用了φ 100的泥浆泵与φ 50泥浆泵的比例折出Φ 50 100的污水泵台班计价 班费用 的污水泵台班费用,这样计算每台班省84.33元/台班 03年广东定额建筑超 按广东03定额的相应子目前直接套价。 高加压水泵的计取 与结构一同施工的装 修工程超高增加费的 按单独装修工程超高增加费系数计取 计取系数 采用广东03定额的主体工程,应注意建筑物超高加压水泵台班费已 取消,应调整在机械降效费上。 与主体工程一同施工的装修工程,其超高增加费计取系数应与主体 结构一致
8
安装工程设计变更
9
案例一:一个园建工程,将由其他施工单位负责的 不同的施工单位施工 雕塑计给结算施工单位,多计28万元。案例二:将 范围弄错 装修单位做的大堂抹灰计给主体施工单位
四 竣工图与现场不符 1 电梯井内壁抹灰 电梯井内壁计算抹灰, 图纸上有表示的项目但实际没施工的,按图纸计算 了工程量。案例御景半岛运动中心排球馆赛事改造 工程的观从栏杆没做,但预算部按图计算了该费用 电梯井内壁堂规做法是不用做抹灰的,如有施工单位计算了此项要 到现场核实
二 综合单位包干项目结算审查重点 1 2 3 4 5 熟悉单价包干的施工内容,是否存在综合单价已含的工作内容另列项计算 实际使用材料与综合单价合同材料是否一致 分清施工单位的施工界面 工程量的计算是否准确 工期延误扣款、转扣签证等扣款项目是否已扣

汇编中常见的一些错误信息

汇编中常见的一些错误信息

汇编中常见的一些错误信息ml.exe错误信息: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.exeSEVERE 严重的错误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 longsegment 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 不能增加内存表达式和代码标记。

(部编版)七年级历史上册纠错题汇编

(部编版)七年级历史上册纠错题汇编

(部编版)七年级历史上册纠错题汇编一.半坡原始居民的生活(共3小题)1.我国较早种植粟的是黄河流域的河姆渡居民。

错误:订正:。

2.半坡原始居民生活在黄河流域,使用的是打制石器。

错误:更正:。

3.半坡人和河姆渡人都使用打制石器,其处于“新石器时代”。

错误;改正。

二.华夏族的人文初祖—炎帝和黄帝(共1小题)4.炎帝和黄帝被共同尊奉为中华民族的人文始祖。

错误,改正。

三.夏朝的建立—中国历史上第一个奴隶制王朝的建立(共1小题)5.约公元前2070年,启建立了我国历史上第一个奴隶制王朝﹣﹣夏朝。

判断:;改正。

四.商朝的建立与灭亡(共2小题)6.商朝多次迁都,到商王盘庚时迁到殷,此后保持了相对稳定。

判断;改正:。

7.公元前1046年,牧野之战后,商朝灭亡,周文王建立周朝。

错误:更正:。

五.西周的灭亡和东周的建立(共2小题)8.公元前841年,周幽王与民争利,引起“国人暴动”。

错误:;改正:。

9.西周分为春秋和战国两个时期,周王室的统治力大大减弱。

判断;改正:。

六.春秋时期诸侯争霸(共3小题)10.晋文公率领军队在城濮同楚国交战,晋国获得了胜利,晋文公一跃成为了新的霸主。

判断:;改正。

11.春秋五霸中曾“问鼎中原”的国家是晋国。

改正:。

12.春秋争霸中,最先称霸的是晋文公。

错误:;改正:。

七.战国七雄与著名战役(共3小题)13.长平之战、官渡之战、赤壁之战都是我国古代历史上著名的以少胜多的战役。

错误:订正:。

14.战国时期,齐国、楚国、燕国、赵国、晋国、韩国、秦国形成七雄并立局面。

错误:;正确:。

15.战国中后期,几个国家联合起来进攻秦国,历史上称这一策略为“连横”。

错误,改正。

八.春秋战国时期的社会变革(共1小题)16.战国时期,新兴奴隶主阶级势力增强,各诸侯国实行变法改革,以求在兼并战争中获胜。

判断;改正:。

九.都江堰工程和郑国渠(共1小题)17.战国时秦国李冰父子修建的都江堰,至今仍发挥着重要作用。

错误:改正:。

微机原理-第7章 汇编语言与汇编程序5 常用DOS系统功能调用及BIOS功能调用-文档资料

微机原理-第7章 汇编语言与汇编程序5 常用DOS系统功能调用及BIOS功能调用-文档资料

常用DOS系统功能调用
① ② ③ ④ ⑤ ⑥

单字符输入 ( 01H、07H、08H功能 ) 显示单字符 ( 02H、05H功能 ) 单字符输入或显示( 06H功能 ) 字符串输入 ( 0AH功能 ) 显示字符串 ( 09H功能 ) 检测键盘状态 ( 0BH功能 )
① 单字符输入 (01H、07H、08H功能)
max DB 11 DB ? DB 11 DUP(?)
SEGMENT ASSUME CS:code, DS:data MOV AX , data ;置缓冲区地址于DS:DX
ROM BASIC ROM BIOS ( a)
FFFFH
ROM BASIC ROM BIOS (b)
FFFFH
图 7.5-1 PC-DOS (a) DOS启动后 (b) 执行程序装入后
软件中断分类
DOS中断
中断类型号
20H~3FH 为用户程序和系统程序提供磁盘读写、程 序退出、系统功能调用等功能。
③ 单字符输入或显示 (06H功能)
入口参数:DL = 0FFH,表示从键盘输入字符
或 DL ≠ 0FFH,表示DL中是要显示字符的ASCII 码
功能号:
类型号:
AH = 06H
21H
出口参数:若ZF=0时,表示有键按下,将字符的ASCII码
送入寄存器AL, AL=输入字符。 若标志ZF=1时,表示无键按下,寄存器AL中不 是键入字符ASCII码, AL=0 。
② 显示单字符 (02H、05H功能)
(a)2号系统功能调用
入口参数:DL = 要显示字符的ASCII 码 功能号: AH = 02H 类型号: 21H 出口参数:无 实现功能:显示指定字符,光标右移。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.exeSEVERE 严重的错误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 longsegment 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/Acannot 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/Amissing macro argument 找不到宏定义EXITM used inconsistently EXITM常用于不稳定时macro function argument list too long 宏函数定义表太长N/AVARARG 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/ARET 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/Adivide 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/Ainvalid 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/Tillegal 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 1cannot modify READONLY segment 不能修改READONLY 段N/Anon-unique STRUCT/UNION field used without qualification 没有限制时STRUCT/UNION域不唯一start address on END directive ignored with .STARTUP 有起始地址时END指令忽略.STARTUPcannot ASSUME CS 不允许ASSUME CSunknown 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 在远模式忽略LOADDSdebug 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 3N/Ano return from procedure 没有返回步骤N/Aconditional jump lengthened 条件跳转延长procedure argument or local not referenced 程序段或局部段不确定expression may be pass-dependent 表达式可能经过依赖structure contains no members。

相关文档
最新文档