汇编程序出错信息

序号

显 示

0

Block nesting error

嵌套过程结构宏指令、IRP、IRPC REPT 不是正确结束如嵌套的外层已终止而内层还是打开状态

1

Extra characters on line

当一行上已接受了定义指令的足够信息又出现了多余的字符

2

Register already defined

汇编内部出现逻辑错误

3

Unknown symbol type

在符号语句的类型字段中有些不能识别的东西

4

Redefinition of symbol

在第二遍扫视时接着又定义一个符号

5

Symbol is multi-defined

重复定义一个符号

6

Phase error between passes

程序中有模棱两可的指令以至于在汇编程序的两次扫视中程序标号的位置在数值上改变了

7

Already had ELSE clause

ELSE从句中试图再定义ELSE从句

8

Not in conditional block

在没有提供条件汇编指令的情况下指定了 ENDIF ELSE.

9

Symbol not defined

符号没有定义

10

Syntax error

语句的语法与任何可识别的语法不匹配

11

Type illegal in context

指定的类型在长度上不可接收

12

Should have been group name

给出的组合不符合要求

13

Must be declared in pass

得到的不是汇编程序所要求的常数值例如向前引用的向量长度

14

Symbol type usage illegal

PUBLEC 符号的使用不合法

15

Symbol already different kind

企图定义与以前定义不同的符号

16

Symbol is reserved word

企图非法使用一个汇编程序的保留字(例如宣布MOV为一个变量)

17

Forward references is illegal

向前引用必须是在第一遍扫视中定义过的

18

Must be register

希望寄存器作为操作数但用户提供的是符号而不是寄存器

19

Wrong type of register

指定的寄存器类型并不是指令中或伪操作中所要求的例如 ASSUME AX

20

Must be Segment or group

希望给出段或组而不是其它

21

Symbol has no segment

想使用带有SEG的变量,而这个变量不能识别段

22

Must be symbol type

必须是WORD、DW、QW、BYTETB,但接收的是其它内容

23

Already defined locally

试图定义一个符号作为EXTERNAL,但这个符号已经在局部定义过了

24

Segment parameters are changed

SEGMENT的自变量表与第一次使用的这个段的情况不一样

25

Not proper align/combine type

SEGMENT参数不正确

26

Reference to mult defined

指令引用的内容已是多次定义过的

27

Operand was expected

汇编程序需要的是操作数但得到的却是其它内容

28

Operator was expected

汇编程序需要的是操作符但得到的却是其它内容

29

Division by 0 or overflow

给出一个用 0 作除数的表达式

30

Shift count is negative

移位表达式产生的移位计数值为负数

31

Operand type must match

在自变量的长度或类型应该一致的情况下汇编程序得到的并不一样例如交换

32

Illegal use of external

用非法手段进行外部使用

33

Must be record field name

需要的是记录字段名,但得到的是其它东西

34

Must be record or field name

需要的是记录名或字段名但得到的是其它东西

35

Operand must have size

需要的是操作数的长度,但得到的是其它内容

36

Must be var, label or constant

需要的是变量标号或常数但得到的是其它内容

37

Must be structure field name

需要的是结构字段名但得到是其它内容

38

Left operand must have segment

右操作数所用的某些东西要求左操作数必须有一个段(例如:":")

39

One operand must be const

一个操作数必须是常数

40

Operands must be same or labs

操作符必须相同或是编号

41

Normal type operand expected

当需要变量标号时得到的却是STRUCT,FIELDS,NAMES,BYTE,WORDDW

42

Constant was expected.

需要的是一个常量得到的却是另外的内容

43

Operand must have segment

SEG伪操作使用不合法

44

Must be associated with code

有关项用的是代码而这里需要的是数据例如一个过程的 DS 取代

45

Must be associated with code

有关项用的是数据而这里需要的是代码

46

Already have base register

试图重复基地址

47

Already have index register

试图重复变址地址

48

Must be index or base register

指令需要基址或变址寄存器而指定的是其它寄存器

49

illegal use of register

在指令中使用了 8088 指令中没有的寄存器

50

Value is out of range

数值大于需要使用的例如将 DW 传送到寄存器中

51

Operand not in IP segment

由于操作数不在当前 IP 段中因此不能存取

52

Improper Operand type

使用的操作数不能产生操作码

53

Relative jump out of range

指定的转移超出了允许的范围 (-128+127).

54

Index displ. must be cinstant

试图使用脱离变址寄存器的变量位移量位移量必须是常数

55

illegal register value.

指定的寄存器值不能放入"reg"字段中

("reg"字段大于7).

56

No immediate mode

指定的立即方式或操作码都不能接收立即数

例如:PUSH.

57

illegal size for item

引用的项的长度是非法的例如:双字移位

58

Byte register is illegal

使用一个字节寄存器是非法的例如:PUSH AL

59

CS register illegal usage

试图非法使用CS寄存器例如: XCHG CS,AX.

60

Must be AX or AL.

某些指令只能用AXAL。例如:IN 指令

61

Improper use of segment reg

段寄存器使用不合法例如:1立即数传送到段寄存器

62

No or unreachable CS

试图转移到不可到达的标号

63

Operand combination illegal

在双操作数指令中两个操作数的组合不合法

64

Near JMP/CALL to different CS

企图在不同的代码段内执行 NEAR 转移或调用

65

Label can't have seg override.

非法使用段取代

66

Must have opcode after prefix

使用前缀指令之后没有正确的操作码说明

67

Can't override ES segment

企图非法地在一条指令中取代ES寄存器例如:存储字符串

68

Can't reach with segment reg.

没有使变量可达到的 ASSUME 语句

69

Must be in segment block

企图在段外产生代码

70

Can't use EVEN on BYTE segment

被提出的是一个字段,但试图使用EVEN

71

Forward needs override

目前不使用这个信息

72

Illegal value for DUP count. DUP

计数必须是常数不能是 0 或负数

73

Symbol already external

企图定义一个局部符号但此符号已经是外部符号了

74

DUP is too large for linker

DUP 定义太大

75

Usage of ? (indeterminate) bad

"?"使用不合适。例如: ? +5

76

More values than defined with

77

Only initialize list legal

78

Directive illegal in STRUC.

79

Override with DUP is illegal

80

Field cannot be overridden

81

Override is of wrong type

82

Register can't be forward ref.

83

Circular chain of EQU aliases.

84

Feature not supported by Small Assembler(ASM)