Code Examples
D-9C2xLP Migration Guidelines
Table D−5. Full Context Save/Restore Comparison
C2xLP Full Context Save/Restore C28x Full Context Save/Restore
INTx_ISR:
; context save
MAR *, AR1
MAR *+
SST #1,*+
SST #0,*+
SACH *+
SACL *+
SPH *+
SPL *+
MPY #1
SPL *+
SAR AR0, *+
SAR AR2, *+
SAR AR3, *+
SAR AR4, *+
SAR AR5, *+
SAR AR6, *+
SAR AR7, *+
.
;interrupt code goes here
.
.
; context restore
MAR *, AR1
MAR *−
LAR AR7, *−
LAR AR6, *−
LAR AR5, *−
LAR AR4, *−
LAR AR3, *−
LAR AR2, *−
LAR AR0, *−
SETC INTM
MAR *−
SPM 0
LT *+
MPY #1
LT *−
MAR *−
LPH *−
LACL *−
ADD *−, 16
LST #0, *−
LST #1, *−
CLRC INTM
RET
;C28x automatically saves the
;following registers:
;T,ST0,AH,AL,PH,PL,AR1,AR0,DP,ST1,
;DBGSTAT,IER,PC
INTx_ISR:
;interrupt context save
PUSH AR1H:AR0H ; 32−bit
PUSH XAR2 ; 32−bit
PUSH XAR3 ; 32−bit
PUSH XAR4 ; 32−bit
PUSH XAR5 ; 32−bit
PUSH XAR6 ; 32−bit
PUSH XAR7 ; 32−bit
PUSH XT ; 32−bit
.
.
;interrupt code goes here
.
.
;interrupt context restore
POP XT
POP XAR7
POP XAR6
POP XAR5
POP XAR4
POP XAR3
POP XAR2
POP AR1H:AR0H
IRET