SHASM Error Messages 200-312

The following table shows the SHASM error messages 200-312.

Message # and Severity Message Text Explanation
200 ERROR Symbol "%s", first used at %s, is never defined A symbol was referenced without providing a definition for it. Either define it (using .EQU, a label, and so on), or import it (using .IMPORT or .GLOBAL).
202 ERROR Illegal symbol "%s" User-defined symbols are not permitted to begin with \& or . (a period).
203 ERROR Illegal label symbol "%s" User defined symbols are not permitted to begin with \& or . (a period).
205 WARN %s has already been declared %s A symbol was declared or defined that has already been declared or defined.
206 ERROR %s has already been declared %s A symbol was declared or defined that has already been declared or defined.
207 ERROR Preprocessor symbol "%s" has not been defined yet A preprocessor symbol was used before defining it.
210 ERROR A string ("%s") is not valid here A string constant or a string-valued symbol or expression was used in a context in which strings, including character constants, are not supported.
211 ERROR Cannot %s a %s symbol (%s) A symbol that cannot be imported or exported (one defined using .ASSIGN, .ASSIGNA, .ASSIGNC, .REG, or .SECTION, or an internal register symbol) was used in an .EXPORT or .GLOBAL assembler directive.
212 ERROR Symbol "%s" has not been defined yet A symbol was referenced in a context where forward references are not permitted, but the symbol has not yet been defined, or its value is not yet known.
213 ERROR The value of symbol "%s" is not known yet A symbol was referenced in a context where forward references are not permitted, but the symbol has not yet been defined, or its value is not yet known.
214 ERROR "%s" is an .IMPORT symbol; its value is unknown An .IMPORT symbol was used in a context where external references are not permitted.
301 ERROR Too many operands; expecting %s Too many operands were supplied for an instruction or an assembler directive.
302 ERROR "%s" is not an opcode, directive, or macro An operation name was specified that is not an opcode or directive, nor a defined macro. Check the spelling, or if it is a macro, make sure it has been defined before the first use.
304 ERROR Not enough operands; expecting %s Fewer operands were supplied than are required for an instruction or an assembler directive.
307 ERROR This addressing mode is not legal here An addressing mode was specified that is not legal for the instruction or the instruction/modifier combination, or a modifier was specified that is not legal for the instruction.
308 ERROR Invalid addressing mode (incompatible operands) A combination of addressing modes was specified that is not legal for the instruction or the instruction/modifier combination, or a modifier was specified that is not legal for the combination of addressing modes and the instruction.
309 ERROR Invalid addressing mode (illegal register %s): "%s" A register name was specified in a place where that register (or register type) is not legal.
310 ERROR Cannot use %s here; only r0 is valid A register other than r0 was specified in a context where only r0 is legal.
311 ERROR "%s" (%s) is not a register The symbol specified as the operand of a .REG directive is not a valid register name.
312 ERROR This would require %s relocation An operation was attempted that cannot be represented in the MS-COFF object format as currently defined.

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.