• Aucun résultat trouvé

Assembler Error Messages

Dans le document Assembly Family (Page 187-191)

.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 error

U 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

Dans le document Assembly Family (Page 187-191)