匯編程序MASM5.0編譯出錯信息表中文說明_第1頁
匯編程序MASM5.0編譯出錯信息表中文說明_第2頁
匯編程序MASM5.0編譯出錯信息表中文說明_第3頁
匯編程序MASM5.0編譯出錯信息表中文說明_第4頁
匯編程序MASM5.0編譯出錯信息表中文說明_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、匯編程序MASM 5.0編譯出錯信息表-中文說明          用MASM 5.0對匯編程序進行匯編的時候,如果檢查出某行語句有錯誤,就會在屏幕上給出出錯信息,若指定了列表文件(.LST),MASM 5.0也會在列表文件中給出錯誤信息。        MASM5.0出錯信息格式: WARNING/ERROR錯誤信息碼:錯誤描述信息         錯誤描述信息碼由

2、五個字符組成,第一個是字母A,表示匯編語言程序出錯;接著有一個數(shù)字指明出錯類別:2為致命錯誤,4為嚴肅警告,5為建議性警告,最后三位為錯誤編號。        下面的手冊中給出了錯誤編號、錯誤描述以及中文解釋說明,方便大家查閱,包括MASM 5.0常見編譯錯誤。000          Block nesting error  嵌套出錯.嵌套的過程,段,結構,宏指令或重復塊等非正常結束.例如在嵌套語句中有外層的結束語

3、句,而無內(nèi)層的結束語局 001          Extra characters on line 一語句行有多余字符,可能是語句中給出的參數(shù)太多 002          Internal error-Register already defined 這是一個內(nèi)部錯誤.如出現(xiàn)該錯誤,請記下發(fā)生錯誤的條件,并使用Product Assistance Request 表與Microsoft公司聯(lián)系 003 &

4、#160;        Unkown type specifer 未知的類型說明符.例如類型字符拼錯,把BYTE寫成BIT,NEAR寫成NAER等 004          Redefinition of symbol 符號重定義.同一標識符在兩個位置上定義.在匯編第一遍掃描時,在這個標識符的第二個定義位置上給出這個錯誤 005         

5、 Symbol is multidefined 符號多重定義.同一標識符在兩個位置上定義.在匯編第二遍掃描時,每當遇到這個標識符都給出這個錯誤 006          Phase error between passes 兩次掃描間的遍錯.一個標號在二次掃描時得到不同的地址值,就會給出這種錯誤.若在啟動MASM時使用/D任選項,產(chǎn)生第一遍掃描的列表文件,它可幫助你查找這種錯誤 007          Alread

6、y had ELSE clause 已有ELSE語句.在一個條件塊里使用多于一個的ELSE語句 008          Must be in conditional block 沒有在條件塊里.通常是有ENDIF或ELSE語句,而無IF 語句 009          Symbol not defined 符號未定義,在程序中引用了未定義的標識符 010     &

7、#160;    Syntax error 語法錯誤.不是匯編程序所能識別的一個語句 011          Type illegal in context 指定非法類型.例如對一個過程指定BYTE類型,而不是NEAR或FAR 012          Group name must be unique 組名應是唯一的.作為組名的符號作為其他符號使用 013  &#

8、160;       Must be declared during pass 1 必須在第一遍掃描期間定義.在第一遍掃描期間,如一個符號在未定義前就引用,就會出現(xiàn)這種錯誤. 014          Illegal public declaration 一個標識符被非法的指定為PUBLIC類型 015          Symbol already def

9、ferent kind 重新定義一個符號為不同種類符號.例如一個段名重新被當作變量名定義使用 016          Reserved word used as symbol 把匯編語言規(guī)定的保留字作標識符使用 017          Forward reference illegal 非法的向前引用.在第一遍掃描期間,引用一個未定義符號. 018     

10、60;    Operand must be register 操作數(shù)位置上應是寄存器,但出現(xiàn)了標識符 019          Wrong type of register 使用寄存器出錯 020          Operand must be segment or group 應該給出一個段名或組名.例如ASSUME語句中應為某段寄存器和指定一個段名或組名,而不應是別的標號或變量名

11、等 021          Symbol has no segment 不知道標識符的段屬性 022          Operand must be type specifier 操作數(shù)應給出類型說明,如NEAR,FAR,BYTE等 023          Symbol alread defined locally 以被指

12、定為內(nèi)部的標識符,企圖在EXTRN語句中又定義外部標識 024          Segment paraneters are changed 段參數(shù)被改變.如同一標識符定義在不同段內(nèi) 025          Improper align/combin type 段定義時的定位類型/組合類型使用出錯 026         

13、Reference to multidefined symbol 指令引用了多重定義的標識符 027          Operand expected 需要一個操作數(shù),只有操作符 028          Operator expected 需要一個操作符,但只有操作數(shù) 029          Divdsion by 0 o

14、r overflow 除以0或溢出 030          Negative shift count 運算符SHL或SHR的移位表達式值為負數(shù) 031          Operand type must match 操作數(shù)類型不匹配.雙操作數(shù)指令的兩個操作數(shù)長度不一致,一個是字節(jié),一個是字 032          Ille

15、gal use of external 外部符號使用出錯 033          Must be record field name 應為記錄字段名.在記錄字段名位置上出現(xiàn)另外的符號 034          Must be record name or field name 應為記錄名或記錄字段名.在記錄名或記錄字段名位置上出現(xiàn)另外的符號 035     

16、0;    Operand must have size 應指明操作數(shù)的長度(如BYTE,WORD等).通常使用PTR運算即可改正 036          Must be variable,label,or constant 應該是變量名,標號,或常數(shù)的位置上出現(xiàn)了其他信息 037          Must be stucture field name 應該為結構字段名.在結構字段名

17、位置上出現(xiàn)了另外的符號 038          Lefe operand must segment 操作數(shù)的左邊應該是段的信息.如設DA1,DA2均是變量名,下列語句就是錯誤的:"MOV AX,DA1:DA2".DA1位置上應使用某段寄存器名 039          One operand must constant 操作數(shù)必須是常數(shù). 040    &

18、#160;     Operand must be in same segment or one constant 運算符用錯.例如"MOV AL,VAR",其中VAR是變量名,應有一常數(shù)參加運算.又如兩個不同段的變量名相減出錯 041          Normal type operand expected 要求給出一個正常的操作數(shù). 042        

19、60; Constant expected 要求給出一個常數(shù). 043          Operand must have segment 運算符SEG用錯. 044          Must be associated with data 在必須與數(shù)據(jù)段有關的位置上出現(xiàn)了代碼段有關的項 045          Must

20、be associated with code 在必須與代碼段有關的位置上出現(xiàn)了數(shù)據(jù)段有關的項 046          Multiple base registers 同時使用了多個基址寄存器.如"MOV AX ,SIBP" 047          Multiple index registers 同時使用了多個變址寄存器.如"MOV AX ,SIDI" 048 

21、         Must be index or base register 指令僅要求使用基址寄存器或變址寄存器,而不能使用其他寄存器. 049          Illegal use of register 非法使用寄存器出錯 050          Value is out of range 數(shù)值太大,超過允許值.例如:&qu

22、ot;MOV AL ,100H" 051          Operand not in current CS ASSUME segment 操作數(shù)不在當前代碼段內(nèi).通常指轉移指令的目標地址不在當前CS段內(nèi) 052          Improper operand type 操作數(shù)類型使用不當.例如:"MOV VAR1,VAR2".兩個操作數(shù)均為存儲器操作數(shù),不能匯編出目標代碼 053

23、           Jump out of range by %ld byte 條件轉移指令跳轉范圍超過-128 127個字節(jié).出錯廠,信息同時給出超過的字節(jié)數(shù) 054           Index displacement must be constant 變址尋址的位移量必須是常數(shù) 055        

24、60; Illegal register value 非法的寄存器值.目標代碼中表達寄存器的值超過7 056          Immediate mode illegal 不允許使用立即數(shù)尋址.例如"MOV DS,CODE"其中CODE是段名,不能把段名作為立即數(shù)傳送給段寄存器DS057          Illegal size for operand 使用操作數(shù)大小(字節(jié)數(shù))出錯.例如:使用

25、雙字的存儲器操作數(shù) 058          Byte register illegal 要求用字寄存器的指令使用了字節(jié)寄存器.如PUSH,POP指令的操作數(shù)寄存器必須是字寄存器 059           Illegal uer of CS register 指令中錯誤使用了段寄存器CS.如:"MOV CS,AX"CS不能做目的操作數(shù) 060   

26、0;      Must be accumulator register 要求用AX或AL的位置上使用可其他寄存器.如IN,OUT指令必須使用累加器AX或AL 061           Improper uer of segment register 不允許使用段寄存器的位置上使用了段寄存器.如"SHL DS,1" 062        

27、0; Missing or unreachable CS 試圖跳轉去執(zhí)行一個CS達不到的標號.通常是指缺少ASSUME語句中CS與代碼段相關聯(lián) 063           Operand combination illegal 雙操作數(shù)指令中兩個操作數(shù)組合出錯 064          Near JMP/CALL to different CS 試圖用NEAR屬性的轉移指令跳轉到不在當前段的一個地址 065

28、          Label cannot have segment override 段前綴使用出錯 066          Must have instuction agter prefix 在重復前綴REP,REPE,REPNE后面必須有指令 067          Cannot override ES for de

29、stination 串操作指令中目的操作數(shù)不能用其他段寄存器替代ES 068          Cannot address with srgment register 指令中尋找一個操作數(shù),但ASSUME語句中未指明哪個段寄存器與該操作數(shù)所在段有關聯(lián) 069           Must be in segment block 指令語句沒有在段內(nèi) 070    &#

30、160;     Cannot use EVEN or ALIGN with byte alignment 在段定義偽指令的定位類型中選用BYTE,這時不能使用EVEN或ALIGN偽指令 071           Forward needs override or FAR 轉移指令的目標沒有在源程序中說明為FAR屬性,可用PTR指定 072          Ill

31、egal value for DUP count 操作符DUP前的重復次數(shù)是非法的或未定義 073          Symbol id already external 在模塊內(nèi)試圖定義的符號,它已在外部符號偽指令中說明 074           DUP nesting too deep 操作數(shù)DUP的嵌套太深 075       &

32、#160;   Illegak use of undefinde operand( ) 不定操作符" "使用不當.例如"DB 10H DUP( 2)" 076          Too many valer for struc or record initialization 在定義結構變量或記錄變量時,初始值太多 077          Angle br

33、ackets requored around initialized list 定義結構體變量時,初始值未用尖括號()括起來 078          Directive illegal structure 在結構體定義中的偽指令使用不當.結構定義中的偽指令語句僅二種:分號(;)開始的注釋語句和用DB,DW等數(shù)據(jù)定義偽指令語句 079          Override with DUP illegal 在結構變量初

34、始值表中使用DUP操作符出錯 080          Field cannot be overridden 在定義結構變量語句中試圖對一個不允許修改的字段設置初值 081          Override id of wrong type 在定義結構變量語句中設置初值時類型出錯 083          Circular c

35、hain of EQU aliases 用等值語句定義的符號名,最后又返回指向它自己.如: A EQU B B EQU A 084          Cannot emulate cooprocessor opcode 仿真器不能支持的8087協(xié)處理器操作碼 085          End of END directive 源程序文件無END文件 086     &

36、#160;    Data emitted with no segment 語句數(shù)據(jù)沒有在段內(nèi)087           Forced error-pass1 用.ERR1偽指令強制形成的錯誤088          Forced error-pass2 用.ERR2偽指令強制形成的錯誤089       &

37、#160;  Forced error 用.ERR偽指令強制形成的錯誤090           Forced error-expression true(0) 用.ERRZ偽指令強制形成的錯誤091          Forced error-pression false(not 0) 用.ERRZ偽指令強制形成的錯誤092      

38、    Forced error-symbol not defined 用.ERRNDEF偽指令強制形成的錯誤093          Forced error-symbol defined 用.ERRDEF偽指令強制形成的錯誤094          Forced error-string blank 用.ERRB偽指令強制形成的錯誤095    

39、;       Forced error-string not blank 用.ERRNB偽指令強制形成的錯誤096          Forced error-string identical 用.ERRIDN偽指令強制形成的錯誤097           Forced error-string different 用.ERRDIF偽指令強制形成

40、的錯誤098          Wrong length for override value 結構域的重新設置太大以致不能適合這個域099           Line too long expanding symbol:EQU 使用EQU偽指令定義的等式太長100          Impure memory reference 不合適的處理器參考,當/P選項和特權指令有效時(用.286或.386

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論