📄 arch.inc
字号:
#============================================================================# arch.inc# context layout for Arca. defined some useful MACROs## Distributor: ARCA Technology Corp.# Author: Seeger Chin# Date: 2002.12.26#--------------------------------------------------------- # switch context frame definition # exception, debug, and interrupt frame operation .macro hal_exception_save_all addi r1, r1, -(34*4) sd32 r0, [r1, 4*0] sd32 r1, [r1, 4*1] sd32 r2, [r1, 4*2] sd32 r3, [r1, 4*3] sd32 r4, [r1, 4*4] sd32 r5, [r1, 4*5] sd32 r6, [r1, 4*6] sd32 r7, [r1, 4*7] sd32 r8, [r1, 4*8] sd32 r9, [r1, 4*9] sd32 r10, [r1, 4*10] sd32 r11, [r1, 4*11] sd32 r12, [r1, 4*12] sd32 r13, [r1, 4*13] sd32 r14, [r1, 4*14] sd32 r15, [r1, 4*15] sd32 r16, [r1, 4*16] sd32 r17, [r1, 4*17] sd32 r18, [r1, 4*18] sd32 r19, [r1, 4*19] sd32 r20, [r1, 4*20] sd32 r21, [r1, 4*21] sd32 r22, [r1, 4*22] sd32 r23, [r1, 4*23] sd32 r24, [r1, 4*24] sd32 r25, [r1, 4*25] sd32 r26, [r1, 4*26] sd32 r27, [r1, 4*27] sd32 r28, [r1, 4*28] sd32 r29, [r1, 4*29] rcr r8, 1 # ESR sd32 r8, [r1, 4*30] rcr r8, 2 # EPC sd32 r8, [r1, 4*31] rcr r8, 5 # DSR sd32 r8, [r1, 4*32] rcr r8, 6 # DPC sd32 r8, [r1, 4*33] .endm .macro hal_exception_restore_all ld32 r0, [r1, 4*0] ld32 r1, [r1, 4*1] ld32 r2, [r1, 4*2] ld32 r3, [r1, 4*3] ld32 r4, [r1, 4*4] ld32 r5, [r1, 4*5] ld32 r6, [r1, 4*6] ld32 r7, [r1, 4*7] ld32 r9, [r1, 4*9] ld32 r10, [r1, 4*10] ld32 r11, [r1, 4*11] ld32 r12, [r1, 4*12] ld32 r13, [r1, 4*13] ld32 r14, [r1, 4*14] ld32 r15, [r1, 4*15] ld32 r16, [r1, 4*16] ld32 r17, [r1, 4*17] ld32 r18, [r1, 4*18] ld32 r19, [r1, 4*19] ld32 r20, [r1, 4*20] ld32 r21, [r1, 4*21] ld32 r22, [r1, 4*22] ld32 r23, [r1, 4*23] ld32 r24, [r1, 4*24] ld32 r25, [r1, 4*25] ld32 r26, [r1, 4*26] ld32 r27, [r1, 4*27] ld32 r28, [r1, 4*28] ld32 r29, [r1, 4*29] ld32 r30, [r1, 4*30] ld32 r31, [r1, 4*31] wcr r30, 1 # ESR wcr r31, 2 # EPC ld32 r8, [r1, 4*32] wcr r8, 5 # DSR ld32 r8, [r1, 4*33] wcr r8, 6 # DPC ld32 r8, [r1, 4*8] addi r1, r1, 34*4 rte .endm .macro hal_dbg_save_all addi r1, r1, -(4*34) sd32 r0, [r1, 4*0] sd32 r1, [r1, 4*1] sd32 r2, [r1, 4*2] sd32 r3, [r1, 4*3] sd32 r4, [r1, 4*4] sd32 r5, [r1, 4*5] sd32 r6, [r1, 4*6] sd32 r7, [r1, 4*7] sd32 r8, [r1, 4*8] sd32 r9, [r1, 4*9] sd32 r10, [r1, 4*10] sd32 r11, [r1, 4*11] sd32 r12, [r1, 4*12] sd32 r13, [r1, 4*13] sd32 r14, [r1, 4*14] sd32 r15, [r1, 4*15] sd32 r16, [r1, 4*16] sd32 r17, [r1, 4*17] sd32 r18, [r1, 4*18] sd32 r19, [r1, 4*19] sd32 r20, [r1, 4*20] sd32 r21, [r1, 4*21] sd32 r22, [r1, 4*22] sd32 r23, [r1, 4*23] sd32 r24, [r1, 4*24] sd32 r25, [r1, 4*25] sd32 r26, [r1, 4*26] sd32 r27, [r1, 4*27] sd32 r28, [r1, 4*28] sd32 r29, [r1, 4*29] sd32 r30, [r1, 4*30] sd32 r31, [r1, 4*31] rcr r8, 5 # DSR sd32 r8, [r1, 4*32] rcr r8, 6 # DPC sd32 r8, [r1, 4*33] .endm .macro hal_dbg_restore_all ld32 r0, [r1, 4*0] ld32 r1, [r1, 4*1] ld32 r2, [r1, 4*2] ld32 r3, [r1, 4*3] ld32 r4, [r1, 4*4] ld32 r5, [r1, 4*5] ld32 r6, [r1, 4*6] ld32 r7, [r1, 4*7] ld32 r9, [r1, 4*9] ld32 r10, [r1, 4*10] ld32 r11, [r1, 4*11] ld32 r12, [r1, 4*12] ld32 r13, [r1, 4*13] ld32 r14, [r1, 4*14] ld32 r15, [r1, 4*15] ld32 r16, [r1, 4*16] ld32 r17, [r1, 4*17] ld32 r18, [r1, 4*18] ld32 r19, [r1, 4*19] ld32 r20, [r1, 4*20] ld32 r21, [r1, 4*21] ld32 r22, [r1, 4*22] ld32 r23, [r1, 4*23] ld32 r24, [r1, 4*24] ld32 r25, [r1, 4*25] ld32 r26, [r1, 4*26] ld32 r27, [r1, 4*27] ld32 r28, [r1, 4*28] ld32 r29, [r1, 4*29] ld32 r30, [r1, 4*30] ld32 r31, [r1, 4*31] ld32 r8, [r1, 4*32] wcr r8, 5 # DSR ld32 r8, [r1, 4*33] wcr r8, 6 # DPC ld32 r8, [r1, 4*8] addi r1, r1, 34*4 rte .endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -