EasyManua.ls Logo

Infineon TriCore TC1.6P - RFE - Return from Exception

Infineon TriCore TC1.6P
484 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
TriCore
®
TC1.6P & TC1.6E
32-bit Unified Processor Core
Instruction Set
V1.0 2013-07
User Manual (Volume 2) 3-316
RFE
Return From Exception
Description
Return from an interrupt service routine or trap handler to the task whose saved upper context is specified by the
contents of the Previous Context Information register (PCXI). The contents are normally the context of the task
that was interrupted or that took a trap. However in some cases Task Management software may have altered the
contents of the PCXI register to cause another task to be dispatched.
The return PC value is taken from register A[11] (register address) in the current context. In parallel with the jump
to the return PC address, the upper context registers and PSW in the saved context are restored.
RFE(SR)
RFE(SYS)
if (PCXI[19:0] == 0) then trap(CSU);
if (PCXI.UL == 0) then trap(CTYP);
if (!cdc_zero() AND PSW.CDE) then trap(NEST);
PC = {A[11] [31:1], 1’b0};
ICR.IE = PCXI.PIE;
ICR.CCPN = PCXI.PCPN;
EA = {PCXI.PCXS, 6'b0, PCXI.PCXO, 6'b0};
Return from an interrupt service routine or trap handler to the task whose saved upper context is specified by the
contents of the Previous Context Information register (PCXI). The contents are normally the context of the task
that was interrupted or that took a trap. However in some cases Task Management software may have altered
the contents of the PXCI register to cause another task to be dispatched.
The return PC value is taken from register A[11] (register address) in the current context. In parallel with the jump
to the return PC address, the upper context registers and PSW in the saved context are restored.
if (PCXI[19:0] == 0) then trap(CSU);
if (PCXI.UL == 0) then trap(CTYP);
if (!cdc_zero() AND PSW.CDE) then trap(NEST);
PC = {A[11] [31:1], 1’b0};
ICR.IE = PCXI.PIE;
ICR.CCPN = PCXI.PCPN;
EA = {PCXI.PCXS, 6'b0, PCXI.PCXO, 6'b0};
{new_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]} =
M(EA, 16 * word);
M(EA, word) = FCX;
FCX[19:0] = PCXI[19:0];
PCXI = new_PCXI;
15
08
H
12 11
-
8 7
00
H
0
31
-
28 27
07
H
22 21
-
12 11
-
8 7
0D
H
0

Table of Contents

Related product manuals