SHASM Error Messages 400-453
The following table shows the SHASM error messages 400-453.
Message # and Severity | Message Text | Explanation |
---|---|---|
400 ERROR | Character constant longer than 4 characters: "%s" | A character constant may be no longer than four characters. This message might also be issued if a string (or a string-valued symbol or expression) is supplied in a context where a number is expected. |
402 ERROR | %d (0x%x) is out of range; must be >= %d and <= %u | An operand value is outside of the legal range. The message tells you what the valid range is. This message may also be issued when an attempt is made to use a PC-relative operation (such as a branch, or a MOV @(disp, PC),Rn) to refer a location that is too far away, or that is a backward reference for an instruction that can only support forward references. |
403 ERROR | Cannot %s when one or more operands are relocated | Only certain arithmetic operations are supported on relative values. |
404 ERROR | Relocated value not valid here; must be absolute | A relative value or relative-valued symbol or expression was used in a context where only absolute values are allowed. |
405 ERROR | Cannot %s import symbols or between sections | Only certain arithmetic operations are supported on relative values and external symbols. |
406 ERROR | Cannot %s expr w/%d reloc%s and expr w/%d reloc%s | Only certain arithmetic operations are supported on relative values and external symbols. |
408 ERROR | Cannot divide by zero | It is mathematically impossible to divide by zero. |
413 ERROR | Unknown relational operator: "%s" | The only supported relational operators besides the regular C operators are EQ, NE, GT, LT, GE, and LE, regardless of case. |
420 ERROR | Syntax error in operand | The assembler cannot recognize an operand of an instruction. |
421 ERROR | Syntax error in expression | The assembler cannot recognize an expression or a component thereof. |
422 ERROR | Cannot use a %s symbol here | An attempt was made to use a register in an expression. This is permitted only in a few specific situations. |
423 ERROR | Expression must be relative (or use #immediate) | An instruction was written like MOV symbol,Rn or MOVA symbol,Rn where symbol is an absolute symbol (such as a .EQU symbol might be). To move the value of the symbol into the register, use MOV #symbol,Rn. |
424 ERROR | The "%s" operator (%s) is not supported | An operator was used that is recognized but not supported, such as ++ or --. |
425 ERROR | Expression result overflow: %s %d (0x%x) | An arithmetic operation resulted in overflow (loss of important bits). |
426 ERROR | Expression result overflow: %d (0x%x) %s %d (0x%x) | An arithmetic operation resulted in overflow (loss of important bits). |
427 ERROR | Expression result overflow: %s %u (0x%x) | An arithmetic operation resulted in overflow (loss of important bits). |
453 ERROR | %s needs a literal pool before here | The source line noted in the text of the message (where the %s is above) contains a literal pool reference that cannot reach as far as the address of the source line noted at the beginning of the error message line. Insert a .POOL directive or an unconditional branch somewhere between the two source lines. |
Last updated on Thursday, April 08, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.