Standard Operation for Maskable Interrupts
3-14
7)
Fetch interrupt vector.
The PC is filled with the address of the appropri-
ate interrupt vector, and the vector is fetched from that location. To
determine which vector address has been assigned to each of the inter-
rupts, see section 3.2,
Interrupt Vectors
, on page 3-4 or, if your device
uses a PIE module, see the System and Interrupts Reference Guide for
your specific device.
8)
Increment SP by 1.
The stack pointer (SP) is incremented by 1 in prepara-
tion for the automatic context save (step 9). During the automatic context
save, the CPU performs 32-bit accesses, and the CPU expects 32-bit ac-
cesses to be aligned to even addresses by the memory wrapper. Incre-
menting SP by 1 ensures that the first 32-bit access does not overwrite the
previous stack value.
9)
Perform automatic context save.
A number of register values are saved
automatically to the stack. These registers are saved in pairs; each pair
is saved in a single 32-bit operation. At the end of each 32-bit save opera-
tion, the SP is incremented by 2. Table 3
3 shows the register pairs and
the order in which they are saved. The CPU expects all 32-bit saves to be
even-word aligned by the memory wrapper. As shown in the table, the SP
is not affected by this alignment.
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Á
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Table 3
−
3. Register Pairs Saved and SP Positions for Context Saves
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Save
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Register
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Bit 0 of Storage Address
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Save
Operation
†
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Register
Pairs
ÁÁÁÁÁÁÁÁÁÁÁ
SP Starts at Odd Address
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁ
SP Starts at Even Address
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
1
←
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁ
1
1st
ST0
0
0
←
T
1
1
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
2nd
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
AL
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
0
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁ
0
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
AH
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
1
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁ
1
3rd
PL
‡
0
0
PH
1
1
4th
AR0
0
0
AR1
1
1
5th
ST1
0
0
DP
1
1
Содержание TMS320C28x
Страница 30: ...1 12...
Страница 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Страница 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Страница 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Страница 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Страница 585: ...This page intentionally left blank 7 32 This page intentionally left blank...