26#ifndef FCML_ASM_ERRORS_H_
27#define FCML_ASM_ERRORS_H_
95 FCML_CEH_GEC_INVALID_OPERAND_DECORATOR = 24
fcml_uint16_t fcml_ceh_error
All error codes should be held in variables of this type.
Definition fcml_errors.h:156
fcml_en_ceh_error_level
Error levels.
Definition fcml_errors.h:159
@ FCML_EN_CEH_EL_ERROR
Errors are reported when something more important happened and processing should be stopped.
Definition fcml_errors.h:164
@ FCML_EN_CEH_EL_WARN
Warnings are reported when processing does not need to be stopped.
Definition fcml_errors.h:161
Handles Win32 DLL symbols importing/exporting.
fcml_en_ceh_error_globals
All global error codes are placed here.
Definition fcml_errors.h:40
@ FCML_CEH_GEC_NOT_INITIALIZED
Component hasn't been initialized yet.
Definition fcml_errors.h:51
@ FCML_CEH_GEC_UNSUPPORTED_LABEL_DECLARATION
Labels are not supported.
Definition fcml_errors.h:86
@ FCML_CEH_GEC_EOF
Incomplete instruction.
Definition fcml_errors.h:53
@ FCML_CEH_GEC_UNKNOWN_INSTRUCTION
User chosen unsupported addressing form.
Definition fcml_errors.h:75
@ FCML_CEH_GEC_INVALID_INSTRUCTION_MODEL
Gap between operands found.
Definition fcml_errors.h:92
@ FCML_CEH_GEC_INVALID_REGISTER_TYPE
Wrong register type.
Definition fcml_errors.h:80
@ FCML_CEH_GEC_INTERNAL_ERROR
An internal error occurred.
Definition fcml_errors.h:49
@ FCML_CEH_GEC_NO_ERROR
Operation succeed.
Definition fcml_errors.h:42
@ FCML_CEH_GEC_INVALID_INPUT
Invalid function arguments.
Definition fcml_errors.h:46
@ FCML_CEH_GEC_INVALID_PREFIX
Assembler can return this error code if there is not allowed prefix defined for given instruction.
Definition fcml_errors.h:78
@ FCML_CEH_GEC_INVALID_OPPERAND
Instruction do not support one of the defined operands.
Definition fcml_errors.h:67
@ FCML_CEH_GEC_NOT_SUPPORTED_DECORATOR
Given operand decorator is not supported by operand.
Definition fcml_errors.h:90
@ FCML_CEH_GEC_OUT_OF_MEMORY
There is not enough memory to complete operation.
Definition fcml_errors.h:44
@ FCML_CEH_GEC_UNDEFINED_SYMBOL
Error returned by parsers when there is undefined symbol used.
Definition fcml_errors.h:84
@ FCML_CEH_GEC_UNKNOWN_MNEMONIC
Unknown mnemonic.
Definition fcml_errors.h:69
@ FCML_CEH_GEC_INVALID_REGISTER
Wrong register.
Definition fcml_errors.h:82
@ FCML_CEH_GEC_FEATURE_NOT_SUPPORTED
Chosen operation is not supported in case of given configuration.
Definition fcml_errors.h:57
@ FCML_CEH_GEC_INVALID_OPERATING_MODE
Unsupported operating mode.
Definition fcml_errors.h:60
@ FCML_CEH_GEC_INVALID_INSTRUCTION_FORM
Unsupported instruction form (Instruction may be supported, but not with given set of operands).
Definition fcml_errors.h:65
@ FCML_CEH_GEC_INVALID_ADDRESS_SIZE
Address size (Address size attribute) is not allowed in given context.
Definition fcml_errors.h:73
@ FCML_CEH_GEC_INVALID_ADDRESSING_FORM
Chosen addressing form can not be encoded as for example ModR/M field.
Definition fcml_errors.h:62
@ FCML_CEH_GEC_INVALID_OPPERAND_SIZE
Operand size (Operand size attribute) is not allowed in given context.
Definition fcml_errors.h:71
@ FCML_CEH_GEC_MISSING_DECORATOR
Required operand decorator is missing.
Definition fcml_errors.h:88
@ FCML_CEH_GEC_VALUE_OUT_OF_RANGE
Used mainly in case of integers and offsets.
Definition fcml_errors.h:55
fcml_en_ceh_message_warnings
Codes for textual warnings.
Definition fcml_errors.h:146
fcml_en_ceh_message_errors
Error codes dedicated to textual messages.
Definition fcml_errors.h:112
@ FCML_CEH_MEW_WARN_INVALID_ADDRESSING_MODE
Invalid addressing mode.
Definition fcml_errors.h:150
@ FCML_CEH_MEW_WARN_VALUE_OUT_OF_RANGE
Value out of range
Definition fcml_errors.h:148
@ FCML_CEH_MEC_ERROR_HLE_MORE_THAN_ONE_PREFIX
There is more than one HLE prefix.
Definition fcml_errors.h:122
@ FCML_CEH_MEC_ERROR_PARSED_LINE_TOO_LONG
Parsed line exceed maximal allowed length.
Definition fcml_errors.h:140
@ FCML_CEH_MEC_ERROR_WRONG_VALUE_FORMAT
Wrong value type used in given context.
Definition fcml_errors.h:127
@ FCML_CEH_MEC_ERROR_INVALID_VECTOR_LENGTH
Invalid vector length size.
Definition fcml_errors.h:142
@ FCML_CEH_MEC_ERROR_UNDEFINED_SYMBOL
Symbol is undefined.
Definition fcml_errors.h:138
@ FCML_CEH_MEC_ERROR_SYMBOL_ALREADY_DEFINED
Symbol is already defined in parser's symbol table.
Definition fcml_errors.h:136
@ FCML_CEH_MEC_ERROR_VALUE_OUT_OF_RANGE
Value out of range, for example 32 bit value used as segment selector.
Definition fcml_errors.h:130
@ FCML_CEH_MEC_ERROR_TO_MANY_OPERANDS
To many operands passed to parser.
Definition fcml_errors.h:116
@ FCML_CEH_MEC_ERROR_HLE_PREFIX_NOT_ALLOWED
HLE prefix is not allowed in given context.
Definition fcml_errors.h:120
@ FCML_CEH_MEC_ERROR_ILLEGAL_SEG_REG_OVERRIDE
Segment register can not be overridden.
Definition fcml_errors.h:114
@ FCML_CEH_MEC_ERROR_INVALID_SYNTAX
Syntax error from parser.
Definition fcml_errors.h:132
@ FCML_CEH_MEC_ERROR_INVALID_REGISTER_TYPE_SEG
Wrong register type used in place of segment register.
Definition fcml_errors.h:134
@ FCML_CEH_MEC_ERROR_INVALID_PSEUDO_OPCODE_VALUE
Unsupported pseudo-op value.
Definition fcml_errors.h:118
@ FCML_CEH_MEC_ERROR_DIVISION_BY_0
Expression attempts to divide by 0.
Definition fcml_errors.h:124
Container for all collected errors and warnings.
Definition fcml_errors.h:180
fcml_st_ceh_error_info * errors
All errors and warnings going here.
Definition fcml_errors.h:182
fcml_st_ceh_error_info * last_error
Pointer to the last error/warning on the list.
Definition fcml_errors.h:184
Information about one particular error/warning.
Definition fcml_errors.h:168
struct fcml_st_ceh_error_info * next_error
Next error/warning on the list.
Definition fcml_errors.h:170
fcml_en_ceh_error_level level
Error level.
Definition fcml_errors.h:176
fcml_ceh_error code
Error code.
Definition fcml_errors.h:174
fcml_string message
Error message.
Definition fcml_errors.h:172