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