TriCore
®
TC1.6P & TC1.6E
32-bit Unified Processor Core
Instruction Set
V1.0 2013-07
User Manual (Volume 2) 3-65
CALLA
Call Absolute
Description
Jump to the address specified by disp24. In parallel with the jump, save the caller’s Upper Context to an available
Context Save Area (CSA). Set register A[11] (return address) to the address of the next instruction beyond the call.
Note:After CALLA, upper context registers are undefined except for A[10] and A[11].
Note:When the PSW is saved, the CDE bit is forced to '1'.
CALLAdisp24 (B)
if (FCX == 0) trap(FCU);
if (PSW.CDE) then if (cdc_increment()) then trap(CDO);
PSW.CDE = 1;
ret_addr = PC + 4;
tmp_FCX = FCX;
EA = {FCX.FCXS, 6'b0, FCX.FCXO, 6'b0};
new_FCX = M(EA, word);
M(EA,16 * word) = {PCXI, PSW, A[10], A[11], D[8], D[9], D[10], D[11], A[12], A[13], A[14], A[15], D[12], D[13],
D[14], D[15]};
PCXI.PCPN = ICR.CCPN;
PCXI.PIE = ICR.IE;
PCXI.UL = 1;
PCXI[19:0] = FCX[19:0];
FCX[19:0] = new_FCX[19:0];
PC = {disp24[23:20], 7'b0, disp24[19:0], 1'b0};
A[11] = ret_addr[31:0];
if (tmp_FCX == LCX) trap(FCD);
Status Flags
Examples
calla foobar
See Also
CALL, CALLI, JL, JLA, RET, FCALLA, FRET
C Not changed by this instruction but read by the instruction.
V Not changed by this instruction but read by the instruction.
SV Not changed by this instruction but read by the instruction.
AV Not changed by this instruction but read by the instruction.
SAV Not changed by this instruction but read by the instruction.
31
disp24[15:0]
16 15
disp24[23:16]
8 7
ED
H
0