world leader in high performance signal processing
Trace: » call


General Form

CALL (destination_indirect)
CALL (PC + offset)
CALL offset


CALL ( Preg ) ;      /* indirect to an absolute (not PC-relative) address (a) */
CALL ( PC + Preg ) ; /* PC-relative, indexed (a) */
CALL pcrel25m2 ;     /* PC-relative, immediate (b) */
CALL user_label ;    /* user-defined absolute address label, resolved by the assembler/linker to the appropriate PC-relative instruction (a) or (b) */

Syntax Terminology

P5–0 (SP and FP are not allowed as the source register for this instruction.)
25-bit signed, even, PC-relative offset; can be specified as a symbolic address label, with a range of –16,777,216 through 16,777,214 (0xFF00 0000 to 0x00FF FFFE) bytes.
valid assembler address label, resolved by the assembler/linker to a valid PC-relative offset

Instruction Length

In the syntax, comment (a) identifies 16-bit instruction length. Comment (b) identifies 32-bit instruction length.

Functional Description

The CALL instruction calls a subroutine from an address that a P-register points to or by using a PC-relative offset. After the CALL instruction executes, the RETS register contains the address of the next instruction. The value in the Preg must be an even value to maintain 16-bit alignment.

Flags Affected


Required Mode

User & Supervisor

Parallel Issue

This instruction cannot be issued in parallel with other instructions.


call ( p5 ) ;
call ( pc + p2 ) ;
call 0x123456 ;
call get_next_sample ;

Also See

Special Applications