Call/Return - Intel i960 Jx Developer's Manual

Microprocessor
Table of Contents

Advertisement

INSTRUCTION SET OVERVIEW
All use the COBR machine instruction format and can specify literals, local or global registers as
operands. With compare ordinal and branch (
(
) instructions, two operands are compared and the condition code bits are set as
compib*
described in
section 5.2.6, "Comparison" (pg.
the conditional branch (
BRANCH IF
With check bit and branch instructions (
second operand. The condition code flags are set according to the state of the specified bit: 010
(true) when the bit is set and 000
executed according to condition code bit settings.
These instructions can be used to optimize execution performance time. When it is not possible to
separate adjacent compare and branch instructions from other unrelated instructions, replacing two
instructions with a single compare and branch instruction increases performance.
5.2.8

Call/Return

The i960 Jx processor offers an on-chip call/return mechanism for making procedure calls. Refer
to
section 7.1, "CALL AND RETURN MECHANISM" (pg.
support this mechanism:
call
call
callx
call extended
calls
call system
ret
return
call
and
ret
use the CTRL machine-instruction format.
local or global registers.
calls
and
make local calls to procedures. A local call is a call that does not require a switch to
call
callx
another stack.
call
and
callx
The target procedure of a call is determined at link time and is encoded in the opword as a signed
displacement relative to the call IP.
address calculated at run time using any one of the addressing modes. For both instructions, a new
set of local registers and a new stack frame are allocated for the called procedure.
calls
is used to make calls to system procedures — procedures that provide a kernel or
system-executive service. This instruction operates similarly to
target-procedure address from the system procedure table. An index number included as an
operand in the instruction provides an entry point into the procedure table.
5-16
compob*
5-12). A conditional branch is then executed as with
) instructions.
bbs
,
bbc
), one operand specifies a bit to be checked in the
(false) when the bit is clear. A conditional branch is then
2
callx
uses the REG format and can specify local or global registers.
differ only in the method of specifying the target procedure's address.
callx
specifies the target procedure as an absolute 32-bit
) and compare integer and branch
7-2). The following instructions
uses the MEM format and can specify
call
and
callx
, except that it gets its
2

Advertisement

Table of Contents
loading

Table of Contents