 
  
  
  
  
 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