.word Initialize 16-Bit Integer
B. Assembler Error Messages
During the assembly process, the assembler issues messages about the errors it encounters. These errors are printed on the screen. Within the listing file, the assembler flags the lines that produced errors with the following letter codes:
B Bit operation error
C Constant or conditional assembly error E Invalid expression
I Instruction error
L Library or local label error M Macro error
o
Operand error R Register error S Syntax errorU Undefined symbol error Z Zero operation error
Most of these errors are fatal; that is, they prevent the assembler from creating an object file.
This remainder of this section lists the assembler error messages, listed in al-phabetical order according to error type.
• Error type B - bit operation errors
bit name must be defined before use: A bit name must be defined with the .dbit directive before it can be used.
bit number out of range: Bit numbers are limited to the range 0-7.
name of bit expected: The operand of this instruction should be a bit named with the .dbit directive.
• Error type C - constant errors invalid constant format
• Error type C - conditional errors
else needs corresponding if An .else was specified without a preceding .if.
unexpected endif encountered: An .endif directive has been encountered without a preceding .if directive.
• Error type E - invalid expression errors
')' expected: A parenthetical expression was not terminated.
attempt to redefine section address: You can only use the address pa-rameter of a sections directive one time.
bad type of expression
B-1
Appendix B - Assembler Error Messages
cannot redefine symbol to a register: This symbol cannot be defined as a register.
can't open include file: The file specified with the .include directive cannot be found.
end of conditional block missing: An .endif directive is needed.
end of string not found: A string must close with a " symbol.
expression not terminated properly
filename must be within quotes: A filename must be specified as a string (enclosed in double quotes).
illegal operation in expression
include file nested too deep: Include files can only be nested to a maxi-mum of eight levels.
invalid expression
invalid listing length: The maximum length of a listing page is 100 lines.
invalid listing width: The maximum width of a listing page is 200 charac-ters.
invalid trap number
string expected The operand must be a string.
symbol mUltiply defined: A symbol (or label) has been defined more than once.
too many include files: Only 26 files can be included in a single source file.
unexpected end encountered: An .end directive has been encountered within a conditional block, a repeat block, or a macro definition.
• Error type I - instruction errors
bad instruction or directive: The specified instruction or directive is not valid.
• Error type L -library errors
cannot open library: The library specified with the .mlib directive cannot be found.
library not archive: The filename specified with the .mlib directive does not name a file that is in archive format.
• Error type L - local label errors
B-2
illegal use of local label
local label mUltiply defined in block: A local label has been defined again before it was reset.
Appendix B - Assembler Error Messages
local label not defined: A jump instruction has an undefined local label as its operand.
• Error type M - macro errors
bad macro definition: The macro definition does not follow correct syntax . . ENDM statement missing in macro: Macro definition is not ended . . IF level exceeded: .if directives can only be nested to a maximum of eight levels.
include files not allowed in macro: You cannot use the .include directive in a macro definition.
incorrect macro definition: The macro definition does not conform to correct syntax.
invalid if structure invalid if/loop nesting
invalid macro library pathname: The specified macro library name cannot be found or opened.
invalid macro qualifier: The macro is qualified with an invalid qualifier suffix.
invalid macro verb: The specified macro directive is not recognized as valid.
label not defined: An instruction uses a label (as an operand) that has not been defined.
long macro variable qualifier
loop nesting level exceeded The .Ioop directives can only be nested to a maximum of eight levels.
macro line too long
macro nesting level exceeded
too many macro variables: Only 128 variables can be defined in a single macro.
variable already defined: This macro redefines a variable that has already been defined within the same macro.
• Error type 0 - operand errors
address is illegal operand: The specified address is not legal.
directive needs an absolute value: All expressions used as directive op-erands must be positive values.
illegal relative address illegal use of global label
invalid operand or operand combination
8-3
Appendix B - Assembler Error Messages
undefined expression
value cannot be external: This instruction cannot use a global symbol as an operand.
value must be positive: This instruction must have positive values as op-erands.
value out of range
• Error type R - register errors
cannot redefine register: A register cannot be redefined.
illegal peripheral number: The range of peripheral registers is Po-P255.
illegal register number: The range of registers is Ro-R255.
illegal use of A register: Register A cannot be used as an operand for this instruction.
illegal use of B register: Register B cannot be used as an operand for this instruction.
illegal work register invalid register size
register or peripheral file expected: The operand must be a register or a peripheral register.
relocatable registers larger than 255: Only 256 relocatable registers can be defined in the .reg section.
• Error type S - syntax errors
comma expected: A comma is needed in the operand field.
identifier expected
label required: The .equ directive must have a symbol in the label field.
missing operand
syntax error: This statement does not conform to correct syntax.
unexpected trailing operands: M.ore operands have been used for this instruction than are allowed.
• Error type U - undefined symbol errors
undefined symbol: A symbol that is used as an operand is not defined.
• Error type Z - zero operation errors
attempt to divide by zero: Dividing by zero is illegal.
8-4