INSTRUCTION SET REFERENCE
6-24
6.2.13
call
Mnemonic:
call
Call
Format:
call
targ
disp
Description:
Calls a new procedure. targ operand specifies the IP of called procedure’s
first instruction. When using the Intel i960 processor assembler, targ must be
a label.
In executing this instruction, the processor performs a local call operation as
described in
section 7.1.3.1, “Call Operation” (pg. 7-6)
. As part of this
operation, the processor saves the set of local registers associated with the
calling procedure and allocates a new set of local registers and a new stack
frame for the called procedure. Processor then goes to the instruction
specified with targ and begins execution.
targ can be no farther than -2
23
to (2
23
- 4) bytes from current IP.
Action:
# Wait for any uncompleted instructions to finish.
implicit_syncf();
temp = (SP + (SALIGN*16 - 1)) & ~(SALIGN*16 - 1)
# Round stack pointer to next boundary.
# SALIGN=1 on i960 Jx processors.
RIP
=
IP;
if (register_set_available)
allocate_new_frame( );
else
{
save_register_set( );
# Save register set in memory at its FP.
allocate_new_frame( );
}
#
Local register references now refer to new frame.
temp[31:2] = sign_extension(targ[23:2]);
IP[31:2] = IP[31:2] + temp[31:2];
IP[1:0] = 0;
PFP = FP;
FP = temp;
SP = temp + 64;
Faults:
STANDARD Refer
to
section 6.1.6, “Faults” (pg. 6-5)
.
Example:
call xyz
# IP
=
xyz
Opcode:
call
09H
CTRL
See Also:
bal, calls, callx
Содержание i960 Jx
Страница 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Страница 24: ......
Страница 25: ...1 INTRODUCTION ...
Страница 26: ......
Страница 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Страница 36: ......
Страница 46: ......
Страница 47: ...3 PROGRAMMING ENVIRONMENT ...
Страница 48: ......
Страница 73: ...4 CACHE AND ON CHIP DATA RAM ...
Страница 74: ......
Страница 85: ...5 INSTRUCTION SET OVERVIEW ...
Страница 86: ......
Страница 111: ...6 INSTRUCTION SET REFERENCE ...
Страница 112: ......
Страница 195: ...INSTRUCTION SET REFERENCE 6 83 6 Opcode mov 5CCH REG movl 5DCH REG movt 5ECH REG movq 5FCH REG See Also LOAD STORE lda ...
Страница 233: ...7 PROCEDURE CALLS ...
Страница 234: ......
Страница 256: ......
Страница 257: ...8 FAULTS ...
Страница 258: ......
Страница 291: ...9 TRACING AND DEBUGGING ...
Страница 292: ......
Страница 309: ...10 TIMERS ...
Страница 310: ......
Страница 324: ......
Страница 325: ...11 INTERRUPTS ...
Страница 326: ......
Страница 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Страница 370: ......
Страница 412: ......
Страница 413: ...13 MEMORY CONFIGURATION ...
Страница 414: ......
Страница 429: ...14 EXTERNAL BUS ...
Страница 430: ......
Страница 468: ......
Страница 469: ...15 TEST FEATURES ...
Страница 470: ......
Страница 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Страница 494: ......
Страница 502: ......
Страница 503: ...B OPCODES AND EXECUTION TIMES ...
Страница 504: ......
Страница 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Страница 516: ......
Страница 523: ...D REGISTER AND DATA STRUCTURES ...
Страница 524: ......
Страница 550: ......
Страница 551: ...GLOSSARY ...
Страница 552: ......
Страница 561: ...INDEX ...
Страница 562: ......
Страница 578: ......