Next: Run time errors
Up: Compiler error messages
Previous: Compiler errors
This section lists the errors that are generated by the inline assembler reader.
They are not the messages of the assembler itself.
- Divide by zero in asm evaluator
-
This fatal error is reported when a constant assembler expressions
does a division by zero.
- Evaluator stack overflow, Evaluator stack underflow
-
These fatal errors are reported when a constant assembler expression
is too big to evaluate 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 a '@' 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 are declared in
a base other then 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 symolb 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 an invalid constant expression,
or that the 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 then 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 overriden 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.
- repeat prefix and a segment override on <= i386 ...
-
A problem with interrupts and a prefix instruction may occur and may cause
false results on 386 and earlier computers.
- Fwait can cause emulation problems with emu387
-
This warning is reported when using the FWAIT instruction, it can
cause emulation problems on systems which use the em387.dxe emulator.
- You need GNU as version >= 2.81 to compile this MMX code
-
MMX assembler code can only be compiled using GAS v2.8.1 or later.
- NEAR ignored
-
- FAR ignored
-
NEAR and FAR are ignored in the intel assemblers, but are still accepted
for compatiblity with the 16-bit code model.
- Invalid size for MOVSX/MOVZX
-
- 16-bit base in 32-bit segment
-
- 16-bit index in 32-bit segment
-
16-bit addressing is not supported, you must use 32-bit addressing.
- Constant reference not allowed
-
It is not allowed to try to address a constant memory address in protected
mode.
- Segment overrides not supported
-
Intel style (eg: rep ds stosb) segment overrides are not support by
the assembler parser.
- Expressions of the form [sreg:reg...] are currently not supported
-
To access a memory operand in a different segment, you should use the
sreg:[reg...] snytax instead of [sreg:reg...]
- Size suffix and destination register do not match
-
In intel AT&T syntax, you are using a register size which does
not concord with the operand size specified.
- Invalid assembler syntax. No ref with brackets
-
- Trying to use a negative index register
-
- Local symbols not allowed as references
-
- Invalid operand in bracket expression
-
- Invalid symbol name:
-
- Invalid Reference syntax
-
- Invalid string as opcode operand:
-
- Null label references are not allowed
-
- Using a defined name as a local label
-
- Invalid constant symbol
-
- Invalid constant expression
-
- / at beginning of line not allowed
-
- NOR not supported
-
- Invalid floating point register name
-
- Invalid floating point constant:
-
- Asm syntax error - Should start with bracket
-
- Asm syntax error - register:
-
- Asm syntax error - in opcode operand
-
- Invalid String expression
-
- Constant expression out of bounds
-
- Invalid or missing opcode
-
- Invalid real constant expression
-
- Parenthesis are not allowed
-
- Invalid Reference
-
- Cannot use __SELF outside a method
-
- Cannot use __OLDEBP outside a nested procedure
-
- Invalid segment override expression
-
- Strings not allowed as constants
-
- Switching sections is not allowed in an assembler block
-
- Invalid global definition
-
- Line separator expected
-
- Invalid local common definition
-
- Invalid global common definition
-
- assembler code not returned to text
-
- invalid opcode size
-
- Invalid character: <
-
- Invalid character: >
-
- Unsupported opcode
-
- Invalid suffix for intel assembler
-
- Extended not supported in this mode
-
- Comp not supported in this mode
-
- Invalid Operand:
-
- Override operator not supported
-
- Increment and Decrement mode not allowed together
-
You are trying to use dec/inc mode together.
- Invalid Register list in movem/fmovem
-
The register list is invalid, normally a range of registers should
be separated by - and individual registers should be separated by
a slash.
- Invalid Register list for opcode
-
- 68020+ mode required to assemble
-
Next: Run time errors
Up: Compiler error messages
Previous: Compiler errors
Michael Van Canneyt
Thu Sep 10 13:56:17 CEST 1998