Assembler Messages
Errors
C-36
DSP ASSEMBLER REFERENCE MANUAL
MOTOROLA
Reserved name used for symbol name
One of the DSP register names has been used as a label, operand, or directive ar-
gument. These register names, in either upper or lower case, are reserved by the
Assembler. See Appendix F for a list of DSP register names.
Runtime space must be P
An instruction was encountered and the runtime memory space was not set to
P
(
Program).
SCO option must be used before any label
The
SCO option sends structured control statements
to the object file and thus
must be specified before any symbols are defined in the source file.
Second data move destination accumulator same as operand destination
accumulator
The destination accumulator in a double memory read instruction is the same as
the DALU accumulator specification.
Secondary opcode not allowed
The secondary opcode field is allowed only with the
FMPY instruction.
Section not encountered on pass 1
The section declared in a
SECTION directive was not encountered during the first
pass of the Assembler. This situation indicates an internal Assembler error and
should be reported to Motorola.
SET requires label
The
SET directive must have a label in order to associate
the directive argument
with a symbol name.
SET symbol names cannot be used with GLOBAL
SET symbol names cannot be used with LOCAL
SET symbol names cannot be used with XDEF
A symbol defined using the
SET directive cannot be exported from a section using
GLOBAL,
LOCAL, or
XDEF.
Short absolute address too large
The flagged operand value is greater than the maximum short address of the target
DSP.
Assembler Messages
Errors
MOTOROLA
DSP ASSEMBLER REFERENCE MANUAL
C-37
Short displacement too large
The flagged operand value is greater than the maximum short
displacement of the
target DSP.
Short I/O absolute address too large
Short I/O absolute address too small
The flagged operand value is outside the I/O address range of the target DSP.
Short or I/O short address expected
A short or I/O short address was expected as the second operand of a
JCLR,
JSET,
JSCLR, or
JSSET instruction.
Short PC-relative address too large
The flagged operand value is greater than the maximum PC-relative address of the
target DSP.
SSH cannot be both source and destination register
In a
MOVE instruction, the SSH register cannot be both the source and destination
operand.
Start argument greater than machine word size
The
start parameter of a @FLD() function has a value larger than can fit in the tar-
get machine word.
Start position greater than source string size
The start parameter in a
@POS() function is larger than the total length of the
source string argument.
Storage block size must be greater than zero
The size of a buffer allocated with the
DSM,
DSR,
BSM,
BSB, and other buffer di-
rectives was too small.
Storage block size out of range
The
size of the buffer in a DSM,
DSR,
BSM,
BSB, or other buffer directive is too
large to be allocated.
Storage block too large
The runtime location counter overflowed while the Assembler was attempting to al-
locate storage through a
DSM or
DSR directive. The Assembler automatically ad-
vances the program counter to the next valid base address given the size of the
modulo or reverse carry buffer. This error occurs when the sum of the expression
Assembler Messages
Errors
C-38
DSP ASSEMBLER REFERENCE MANUAL
MOTOROLA
in the
DSM or
DSR directive and the runtime location counter value exceed avail-
able memory in the current memory space.
Structure or union tag mismatch
A matching tag name could not be found for the current source-level debug struc-
ture or union declaration.
Subroutine branch not allowed after write to SP or SC register
Subroutine jump not allowed after write to SP or SC register
A subroutine call cannot be made immediately after a move to the SP or SC regis-
ters.
Subroutine branch to loop address not allowed
A
BSR,
BScc,
BSSET, or
BSCLR instruction cannot have as its target the loop ad-
dress of the current
DO loop.
Subroutine jump to loop address not allowed
A
JSR,
JScc,
JSSET, or
JSCLR instruction cannot have
as its target the loop ad-
dress of the current
DO loop.
SVO option must be used before any code or data generation
The
SVO option must be given before any data allocation directive (
BSC,
DC,
DS,
DSM,
DSR) or any instruction appears in the source file.
Symbol already defined as GLOBAL
Symbol already defined as LOCAL
Symbol already defined as XDEF
Symbol already defined as XREF
The symbol used in an
GLOBAL,
LOCAL,
XDEF, or
XREF directive has already
been defined in a previous directive of the same type.
Symbol already defined as global
A symbol specified in an
XDEF directive has already been defined as global out-
side the current section.
Symbol already defined in current section
A symbol specified in an
XREF directive has already been defined as private within
the current section.
Symbol already used as SET symbol
The label has already been used in a
SET directive. A symbol defined with
SET
cannot be redefined except through another
SET directive.