?? c6711_cpu.asm
字號:
*****************************************************************************
* file name : C6711_CPU.ASM
* description :
******************************************************************************
FP .set A15
DP .set B14
SP .set B15
DelaySlot_for_Branch .set 5
.global $bss
.global __vector ; /* Memory location for default */
.global _c6711_Restor
.global _c6711_Save
******************************************************************************
* module name : _save_register
* description : Save registers in SAVE_REGISTER format.
* B3 contains return address in interrupt handler
* IRP contains the address of the interrupted environment
******************************************************************************
.align 32
_save_register
SUB .D2 SP,0x9,SP ; Push one Frame
STW .D2T2 B0,*+SP[0x0] ; save B0
|| MVC .S2 AMR,B0 ; B0 = AMR
STW .D2T2 B1,*+SP[0x1] ; save B1
|| MVC .S2 CSR,B1 ; B1 = CSR
STW .D2T2 B2,*+SP[0x2] ; save B2
|| MVC .S2 IER,B2 ; B2=IER
NOP
STW .D2T2 B0,*+SP[0x3] ; save AMR
STW .D2T2 B1,*+SP[0x4] ; save CSR
STW .D2T2 B2,*+SP[0x5] ; save IER
MVC .S2 FADCR,B0 ; B0 = FADCR
STW .D2T2 B0,*+SP[0x6] ; Save FADCR
MVC .S2 FAUCR,B1 ; B1 = FAUCR
STW .D2T2 B1,*+SP[0x7] ; Save FAUCR
MVC .S2 FMCR,B2 ; B2 = FMCR
STW .D2T2 B2,*+SP[0x8] ; Save FMCR
NOP 2
B .S2 B3
ADD .D2 SP,0x8,SP
NOP 4
******************************************************************************
* module name : _restore_register
* description : Save registers in SAVE_REGISTER format.
* B3 contains return address in interrupt handler
* IRP contains the address of the interrupted environment
******************************************************************************
.align 32
_restore_register
SUB.D2 SP,0x8,SP
STW.D2T1 A4,*+SP[0x1]
NOP 2
MV.D1 A4,A0
LDW.D1T1 *+A0[0x0],A0
NOP 4
MVC.S2X A0,AMR
NOP
MV.D1 A4,A0
LDW.D1T1 *+A0[0x1],A0
NOP 4
MVC.S2X A0,CSR
NOP
MV.D1 A4,A0
LDW.D1T1 *+A0[0x2],A0
NOP 4
MVC.S2X A0,IER
NOP
MV.D1 A4,A0
LDW.D1T1 *+A0[0x3],A0
NOP 4
MVC.S2X A0,IRP
NOP
MV.D1 A4,A0
LDW.D1T1 *+A0[0x4],A0
NOP 4
MVC.S2X A0,FADCR
NOP
MV.D1 A4,A0
LDW.D1T1 *+A0[0x5],A0
NOP 4
MVC.S2X A0,FAUCR
NOP
MV.S2X A4,B4
LDW.D2T2 *+B4[0x6],B4
NOP 4
MVC.S2 B4,FMCR
NOP
B.S2 B3
ADD.D2 SP,0x8,SP
NOP 4
.end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -