C.14.1 General assembler errors

Divide by zero in asm evaluator

This fatal error is reported when a constant assembler expression performs a division by zero.

Evaluator stack overflow, Evaluator stack underflow

These fatal error is reported when a constant assembler expression is too big to be evaluated by the constant parser. Try reducing the number of terms.

Invalid numeric format in asm evaluator

This fatal error is reported when a non-numeric value is detected by the constant parser. Normally this error should never occur.

Invalid Operator in asm evaluator

This fatal error is reported when a mathematical operator is detected by the constant parser. Normally this error should never occur.

Unknown error in asm evaluator

This fatal error is reported when an internal error is detected by the constant parser. Normally this error should never occur.

Invalid numeric value

This warning is emitted when a conversion from octal, binary or hexadecimal to decimal is outside of the supported range.

Escape sequence ignored

This error is emitted when a non ANSI C escape sequence is detected in a C string.

Asm syntax error - Prefix not found

This occurs when trying to use a non-valid prefix instruction.

Asm syntax error - Trying to add more than one prefix

This occurs when you try to add more than one prefix instruction.

Asm syntax error - Opcode not found

You have tried to use an unsupported or unknown opcode.

Constant value out of bounds

This error is reported when the constant parser determines that the value you are using is out of bounds, either with the opcode or with the constant declaration used.

Non-label pattern contains @

This only applied to the m68k and Intel styled assembler. This is reported when you try to use a non-label identifier with an ’@’ prefix.

Internal error in Findtype()

Internal Error in ConcatOpcode()

Internal Errror converting binary

Internal Errror converting hexadecimal

Internal Errror converting octal

Internal Error in BuildScaling()

Internal Error in BuildConstant()

internal error in BuildReference()

internal error in HandleExtend()

Internal error in ConcatLabeledInstr()

These errors should never occur. If they do then you have found a new bug in the assembler parsers. Please contact one of the developers.

Opcode not in table, operands not checked

This warning only occurs when compiling the system unit, or related files. No checking is performed on the operands of the opcodes.

@CODE and @DATA not supported

This Turbo Pascal construct is not supported.

SEG and OFFSET not supported

This Turbo Pascal construct is not supported.

Modulo not supported

Modulo constant operation is not supported.

Floating point binary representation ignored

Floating point hexadecimal representation ignored

Floating point octal representation ignored

These warnings occur when a floating point constant is declared in a base other than decimal. No conversion can be done on these formats. You should use a decimal representation instead.

Identifier supposed external

This warning occurs when a symbol is not found in the symbol table. It is therefore considered external.

Functions with void return value can’t return any value in asm code

Only routines with a return value can have a return value set.

Error in binary constant

Error in octal constant

Error in hexadecimal constant

Error in integer constant

These errors are reported when you tried using a constant expression that is invalid or whose value is out of range.

Invalid labeled opcode

Asm syntax error - error in reference

Invalid Opcode

Invalid combination of opcode and operands

Invalid size in reference

Invalid middle sized operand

Invalid three operand opcode

Assembler syntax error

Invalid operand type

You tried using an invalid combination of opcode and operands. Check the syntax and if you are sure it is correct, please contact one of the developers.

Unknown identifier

The identifier you are trying to access does not exist, or is not within the current scope.

Trying to define an index register more than once

Trying to define a segment register twice

Trying to define a base register twice

You are trying to define an index/segment register more than once.

Invalid field specifier

The record or object field you are trying to access does not exist, or is incorrect.

Invalid scaling factor

Invalid scaling value

Scaling value only allowed with index

Allowed scaling values are 1,2,4 or 8.

Cannot use SELF outside a method

You are trying to access the SELF identifier for objects outside a method.

Invalid combination of prefix and opcode

This opcode cannot be prefixed by this instruction.

Invalid combination of override and opcode

This opcode cannot be overridden by this combination.

Too many operands on line

At most three operand instructions exist on the m68k, and i386, you are probably trying to use an invalid syntax for this opcode.

Duplicate local symbol

You are trying to redefine a local symbol, such as a local label.

Unknown label identifer

Undefined local symbol

local symbol not found inside asm statement

This label does not seem to have been defined in the current scope.

Assemble node syntax error

Not a directive or local symbol

The assembler statement is invalid, or you are not using a recognized directive.