A ASSEMBLER ERROR MESSAGES

1 Introduction

The assembler produces error messages on standard error output. If the list option of the assembler is effective, error messages will be included in the list file as well, when the assembler has started list file generation. Error messages have the following layout:

[E|F|W] error_number: filename line number : error_message

Example:

as56 E217: /tmp/tst.src line 17 : invalid parallel move

The example reports the error, starting with the severity (E: error, F: fatal error, W: warning) and the error number followed by the source filename and the line number. The last part of the line shows the error message text.

All warnings (W), errors (E), and fatal errors (F) are described below.

2 Warnings (W)

The assembler may generate the following warnings:

W 101: ignored "MODE" directive

W 102: duplicate attribute "attribute" found

W 103: overlay part of "ORG" directive not supported

W 104: "SECTION" attributes ignored

W 105: no "ORG" found yet

W 106: conflicting attributes specified "attributes"

W 107: memory conflict on object "name"

W 108: object attributes redefinition "attributes"

W 109: label "label" not used

W 110: extern label "label" defined in module, made global

W 111: named section overrules location counter

W 112: text found after END, ignored

W 113: named section overrules map attribute

W 114: immediate io-short operand not allowed, forced to long

W 116: invalid force argument, only NEAR, FAR or NONE allowed

W 117: reverse-carry buffer and ALIGN directive size expected to be a power of 2

W 118: inserted "extern name"

W 120: assembler debug information: cannot emit non-tiof expression for label

W 121: XDEF interpreted as GLOBAL

W 122: XREF interpreted as EXTERN

W 123: expression: type-error

W 124: memory space modifier unequal to memory space of expression

W 125: "symbol" is not a DEFINE symbol

W 126: redefinition of "define-symbol"

W 127: redefinition of macro "macro"

W 128: number of macro arguments is less than definition

W 129: number of macro arguments is greater than definition

W 130: DUPA needs at least one value argument

W 131: DUPF increment value gives empty macro

W 132: IF started in previous file "file", line line

W 133: currently no macro expansion active

W 134: "directive" is not supported, skipped

W 135: define symbol of "define-symbol" is not an identifier; skipped definition

W 136: expression value outside of fractional domain

W 137: label "label" defined attribute and attribute

W 138: warning: WARN-directive-arguments

W 139: inserted NOP instruction(s) to remove restriction

W 140: previous instruction sequence may have a pipeline effect

W 141: gobal/local label "name" not defined in this module; made extern

W 142: DO loop target is not a label, cannot check nesting and range

W 143: conditional branches to LA are illegal when loop flag is set

W 144: missing label for VOID directive; skipped directive

W 145: more than one cache alignment for this section; changed into "align number"

W 146: cache alignment may change absolute section origin

W 147: external symbol "name" is used with different memory spaces; assuming equate symbol

W 148: unrecognized OPT directive "option" ignored

3 Errors (E)

The assembler generates the following error messages when a user error situation occurs. These errors do not terminate assembly immediate. If one or more of these errors occur, assembly stops at the end of the active pass.

E 200: message; halting assembly

E 201: unexpected newline or line delimiter

E 202: unexpected character ( 'character' )

E 203: illegal escape character in string constant

E 205: syntax error: missing token before token

E 206: syntax error: token unexpected

E 207: syntax error: missing ':'

E 208: syntax error: missing ')'

E 209: invalid radix value, should be `2, `10 or `16

E 210: syntax error

E 211: cannot open scope

E 212: cannot close scope

E 213: label "label" defined attribute and attribute

E 214: illegal addressing mode

E 215: not enough operands

E 216: too many operands

E 217: description

E 218: register must be an Rn register

E 219: register Nn must have same number as Rn

E 220: must be an Rn/Nn register pair

E 221: multiple scopes with same name

E 222: scope not closed

E 224: unknown label "label"

E 225: invalid memory type

E 226: "E"-memory not supported

E 227: invalid memory attribute

E 228: more than one location counter

E 229: location counter must be between 0 and 255

E 230: invalid section attribute

E 231: absolute section, expected expression

E 232: MAX/OVERLAY sections need to be named sections

E 233: code section cannot have attribute attribute

E 234: section attributes do not match earlier declaration

E 235: redefinition of absolute section

E 236: cannot evaluate expression of descriptor

E 237: descriptor directive must have positive value

E 238: Floating point numbers not allowed with DCB directive

E 239: DCB byte constant out of range

E 240: DC word constant out of range

E 241: Cannot emit non tiof functions, replaced with integral value '0'

E 242: directive directive type must be M(odulo) or R(everse-carry)

E 243: Nested buffers not permitted

E 244: ENDBUF without an BUFFER directive

E 245: BUFFER size exceeded

E 246: Missing ENDBUF, did you forget to end a buffer?

E 247: illegal condition code

E 248: cannot evaluate origin expression of org "name: address"

E 249: incorrect argument types for function "function"

E 251: @POS(,,start) start argument past end of string

E 252: second definition of label "label"

E 253: recursive definition of symbol "symbol"

E 254: missing closing '>' in include directive

E 255: could not open include file include-file

E 256: integral divide by zero

E 257: unterminated string

E 258: unexpected characters after macro parameters, possible illegal white space

E 259: COMMENT directive not permitted within a macro definition and conditional assembly

E 260: definition of "macro" unterminated, missing "endm"

E 261: macro argument name may not start with an '_'

E 262: cannot find "symbol" in current scope nesting

E 263: cannot evaluate: "symbol", value is unknown at this point

E 264: cannot evaluate: "symbol", value depends on an unknown symbol

E 265: cannot evaluate argument of dup (unknown or location dependant symbols)

E 266: dup argument must be integral

E 267: dup needs a parameter

E 268: ENDM without a corresponding MACRO or DUP definition

E 269: ELSE without a corresponding IF

E 270: ENDIF without a corresponding IF

E 271: missing corresponding ENDIF

E 272: label not permitted with this directive

E 273: wrong number of arguments for function

E 274: illegal argument for function

E 275: parallel moves are not permitted with this instruction

E 276: immediate value must be between value and value

E 277: address must be between $address and $address

E 278: operand must be an address

E 279: address must be short

E 280: address must be short or I/O short

E 281: illegal option "option"

E 282: operand must be a Rn or Nn register

E 283: operand number must be register register

E 284: source and destination must be different

E 285: file-kind file will overwrite file-kind file

E 286: IC and NOIC options must be given before any symbol definition

E 287: SYMB error: message

E 288: error in PAGE directive: message

E 289: error in ORG directive

E 290: fail: message

E 291: generated check: message

E 292: no "ORG" found yet

E 293: expression not in short or I/O short range

E 294: illegal instruction sequence

E 295: optimizer error: message

E 296: duplicate destinations are not allowed

E 297: negative or empty DO loops are not allowed

E 298: improper nesting of do loop

E 299: jump address must be P in memory

E 300: cannot SCS-action, no enclosing loop

E 301: missing corresponding "SCS-instruction"

E 303: unknown condition code '<SCS-condition-code>'

E 304: use "OR" or "AND" for multiple conditions

E 305: error in structured control expression

E 306: expected conditional operator

E 307: expected operand

E 308: use either "OR" or "AND", not both

E 309: cannot combine operands of statement, use others or change SCS registers

E 310: illegal combination of operand 1 and 2.

E 311: one of the MOVEP operands must be I/O short

E 312: size depends on location, cannot evaluate; probably due to cache alignment

E 313: cache alignment only valid on P sections

E 314: ENDM within IF/ENDIF

E 315: interrupt section "name" too large for fast interrupts

E 316: "Symbols:" part not found in map file "filename"

E 317: "Sections:" part not found in map file "filename"

E 318: module "name" not found in map file "filename"

E 319: "Looplabel" used as end label for multiple do loops

E 350: operand number; this kind of operand is not permitted here

E 351: operand number must be in P memory

E 352: operand number must be in X or Y memory

E 353: illegal operand number in parallel Immediate Short Data Move

E 354: illegal operand number in parallel Long Memory Data Move

E 355: illegal number operand in X-or-Y move field of parallel Register and Y Memory Data Move

E 356: illegal operand number in parallel Register to Register Data Move

E 357: illegal operand number in parallel Address Register Update Move

E 358: illegal number operand in X-or-Y move field of parallel X Memory and Register Data Move

E 359: illegal number operand in X-or-Y move field of parallel XY Memory Data Move

E 360: illegal operand number in parallel X or Y Memory Data Move

E 361: no X or Y memory specified on operand number in parallel X or Y Memory Data Move

E 362: only (Rn)-Nn, (Rn)+Nn, (Rn)- or (Rn)+ permitted here

E 363: operand must be one of Xn, Yn, An, Bn, A, B, Rn or Nn

E 364: X and Y parallel moves must use different register banks

E 365: Bitfield field-name out of range

E 366: operand number must be in L memory

E 368: instruction name not supported by DSP56xxx

4 Fatal Errors (F)

The following errors cause the assembler to terminate immediately. Fatal errors are usually due to user errors.

F 401: memory allocation error

F 402: duplicate input filename "file" and "file"

F 403: error opening file-kind file : "file-name"

F 404: protection error : message

F 405: I/O error

F 407: symbolic debug output error

F 408: illegal operator precedence

F 409: Assembler internal error

F 410: Assembler internal error: duplicate mufom "symbol" during rename

F 411: SYMB error: "message"

F 412: MACRO calls nested too deep (possible endless recursive call)

F 413: cannot evaluate "function"

F 414: cannot recover from previous errors, stopped

F 415: error opening temporary file

F 416: internal error in optimizer

F 417: too many errors, stopped

F 418: absolute listing file not allowed in combination with -S


Copyright © 2002 Altium BV