Share via


SH-4 Assembler Error Messages 400-465 (Windows Embedded CE 6.0)

1/5/2010

The following table shows the SH-4 assembler 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 can 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.

407 WARNING

EXPR_OUT_OF_RANGERROR

Floating point constant out of range; represented as infinity

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.

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.

460 ERROR

REPEAT_BAD_LABEL

Label "%s" must be defined after the REPEAT instruction

461 ERROR

REPEAT_LABEL_SWITCH

Start label "%s" must be defined before end label "%s"

462 ERROR

REPEAT_NEED_SETRC

A SETRC instruction must exist at least two instructions before "%s"

463 ERROR

REPEAT_EMPTY_LOOP

One or more instructions must be specified in the REPEAT loop

464 WARNING

REPEAT_LITPOOL

A literal pool cannot be placed inside of a REPEAT loop

465 ERROR

REPEAT_NEED_INSTR

At least one instruction must be placed between REPEAT instruction and "%s"

See Also

Reference

SH-4 Assembler Error Messages

Other Resources

Renesas SH-4 Series Assembler