• Keine Ergebnisse gefunden

Possible Non-Fatal Error Messages

Im Dokument ASSEMBLY LANGUAGE 4400 SERIES (Seite 104-111)

16-bit expression expected.

A 16-bit expression was required in the operand field and the expression found cannot be represented in 16 bits.

8-bit expression expected.

An 8-bit expression was required in the operand field and the expression found cannot be represented in 8 bits.

A label declared "global" was not found in the program.

All labels declared via the global directive must be defined in the module.

Absolute expression required.

An absolute expression is required in this context.

Branches not allowed across segment boundaries.

Branches cannot be made to labels in other segments or to externals.

Can't subtract two relocatables from different segments.

Subtraction of relocatables is not allowed if they are from different segments.

Couldn't evaluate expression.

The expression could not be evaluated.

Couldn't evaluate expression in passl.

Assembler directives such as ds and rmb must be evaluated in both passes of the assembler. Only a constant operand is legal, and forward references are not allowed.

Couldn't find that local label.

The local label specified in the expression was not defined. Note that the local labels "0" and

"00" are two distinct labels.

Data register required.

A data register is required as one of the operands for the instruction specified.

Duplicate label found.

The label on this line has been defined more than one time.

Evaluator : attempt to divide by zero.

The divisor of an expression evaluated to zero.

Evaluator: more than one external found in an expression.

Only one external variable can be used per expression.

Evaluator : must shift by positive, non-zero quantity.

Only non-negative shift amounts are legal.

Evaluator: not a valid operation for 2 reloc's or extern's.

The assembler detected an attempt to add to relocatables or externals. Only absolute expressions can be added to externals or relocatables.

Evaluator: operator only valid for absolutes.

The following operations can be perfonned on absolute expressions only: and, or, exclusive or, not, multiply, divide, shifts and the logical operators.

Evaluator : unbalanced expression (wrt segments).

The expression evaluator found an expression involving relocatables from different segments. In expressions containing relocatables, the relocatables must be paired and canceling. A relocatable expression can only be relocated relative to one segment.

Evaluator: unbalanced parenthesis.

The parentheses in the expression were not balanced properly.

External expression not allowed.

An external expression is not allowed in this context.

External symbol not allowed in this context

In some of the directives, an external symbol is not allowed. For example, the equ cannot have an external symbol in the operand field; a symbol cannot be equated to an external symbol.

Extra arguments found.

Only two operands were expected for this opcode, but more were found.

Found zero branch length on short branch.

A short branch cannot be made to the immediately following instruction.

Forced short but long expression found.

The expression which was forced short (via :W) could not be fitted into a word.

IFDEF contained expression that couldn't be evaluated in Pass 1.

In conditional assembly, the assembler must be able to evaluate the condition in both passes.

This expression can therefore not involve a forward reference to any variables.

Illegal addressing mode for instruction.

An addressing mode (specified in an operand) was is not legal for this instruction.

Illegal character in label.

Labels must consist only of alphabetic characters, digits and the underscore character.

Illegal expression or misSing operand.

An expression could not be successfully parsed by the expression evaluator.

Illegal nesting of conditionals has occurred.

Conditional assembly rules have been broken. Conditionals can only be nested 20 levels deep and certain rules apply to their use. See the discussion of conditional assembly for a detailed description.

Illegal op-code for this segment.

Certain instructions cannot appear in some segments. For instance, no code can be generated in the BSS segment.

Illegal operand.

An error has been detected in the operand field ..

Illegal register list for "movem".

The register list specified could not be interpreted. See the discussion of the instruction set for details on register list specification.

Illegal size for instruction.

The size specified by the .b/.w/J extension is not allowed for this instruction.

Illegal special register for instruction.

The special register (USP,CCR,SR,VBR, ... ) specified as an operand is not legal for this instruction.

Immediate size does not match instruction size.

The immediate operand was larger than the size specified in the instruction, or implicit in the instruction.

Instruction expects only one operand.

The instruction specified has only one operand but more than one was found.

Invalid binary header flag.

The operand of the bhdr directive is not a known binary header flag. The legal binary header flags are:

Executable $04 Relocatable $05

Invalid local label - 0 thru 99 only.

Local labels must be in the range 0 through 99. Local labels may be reused in the same module.

Invalid option specified.

The only legal options to the opt directive are con, noe, lis, nol. See the discussion of pseudo-ops and directives for more details.

Invalid transfer address found (external).

External transfer addresses are not supported.

Label required.

The directives, set, equ and log require a label to be specified on the same line.

Negative value not allowed.

A negative value cannot be specified in this instruction.

Nested COMMON's not supported.

Common blocks cannot be nested.

No closing delimiter found.

The assembler found the EOL character before finding a closing delimiter in a string expression.

No ENDCOM directive found.

A common block declaration must be bracketed by the two directives common and endcom.

Another segment was entered without an endcom being specified.

Odd branch address found.

A branch to a label on an odd address was detected. Instructions must always begin on an even boundary. (The assembler takes care of this.) This can happen if a label is on a line by itself after some odd number of bytes of data, or the label is on a line with data that does not need to be aligned.

Overlapping register list specified.

The register list in the MOVEM instruction contains registers that have been specified more than once. The assembler issues this more as a warning than as an error, but the register list should be corrected.

Phasing Error.

The two passes of the assembler do not agree on the address of the label on the current line. This error can be caused by other errors in the assembly and should not appear as the only error in a given module. Only the first phasing error is reported, and checks are made only on lines containing labels.

Quicknumber (1-8) expected.

The instruction specified requires a quick count in the immediate operand field, and the expression found was not between 1 and 8 inclusive.

Relocatable displacement from the same segment required.

For PC relative code, the relocatable displacement must be from the same segment as the PC.

Relocatable displacement not allowed.

A relocatable displacement is not allowed in this context.

Relocatable expression required.

A relocatable expression is required in this context.

Symbol found in 'extern' also found as program label.

A symbol declared external to a module via the extern directive cannot be defined in the same module.

The string was too long for the size specified.

The size specified in the instruction is smaller than the size of the immediate string specified as the first operand.

Too far for a branch instruction.

The target of a branch instruction must be within the constraints of a 16-bit expression. A jump will have to be used.

Too far for a short branch.

The target of a short branch must be within the constraints of an eight-bit expression. A long branch will have to be used here.

Undefined symbol found.

A symbol in an expression has not been defined.

Unknown addressing mode.

The addressing mode specified could not be interpreted by the assembler.

Unknown opcode.

The opcode on this line is not a known opcode. See the discussion of instructions and fonnat for details.

Unknown size specified.

The only legal size extensions on instructions are "s", "b", "w", and "1." A size other than this was specified.

Word operand required on system call name.

The system call specified is not a legal system call. The system call number must fit in 16 bits (word). See Section 6, System Calls for more infonnation.

Im Dokument ASSEMBLY LANGUAGE 4400 SERIES (Seite 104-111)