1/* 2 * File : microblaze.inc 3 * This file is part of RT-Thread RTOS 4 * COPYRIGHT (C) 2006, RT-Thread Development Team 5 * 6 * The license and distribution terms for this file may be 7 * found in the file LICENSE in this distribution or at 8 * http://www.rt-thread.org/license/LICENSE 9 * 10 * Change Logs: 11 * Date Author Notes 12 * 2011-12-17 nl1031 first implementation for MicroBlaze. 13 * 14 */ 15 16 17 18.equ STACK_RMSR, 0x00 19.equ STACK_R02, 0x04 20.equ STACK_R03, 0x08 21.equ STACK_R04, 0x0C 22.equ STACK_R05, 0x10 23.equ STACK_R06, 0x14 24.equ STACK_R07, 0x18 25.equ STACK_R08, 0x1C 26.equ STACK_R09, 0x20 27.equ STACK_R10, 0x24 28.equ STACK_R11, 0x28 29.equ STACK_R12, 0x2C 30.equ STACK_R13, 0x30 31.equ STACK_R14, 0x34 32.equ STACK_R15, 0x38 33.equ STACK_R17, 0x3C 34.equ STACK_R18, 0x40 35.equ STACK_R19, 0x44 36.equ STACK_R20, 0x48 37.equ STACK_R21, 0x4C 38.equ STACK_R22, 0x50 39.equ STACK_R23, 0x54 40.equ STACK_R24, 0x58 41.equ STACK_R25, 0x5C 42.equ STACK_R26, 0x60 43.equ STACK_R27, 0x64 44.equ STACK_R28, 0x68 45.equ STACK_R29, 0x6C 46.equ STACK_R30, 0x70 47.equ STACK_R31, 0x74 48 49.equ STACK_SIZE, 0x78 50.equ IE_BIT, 0x02 51 52.macro PUSH_ALL 53 ADDIK r1, r1, -STACK_SIZE 54 SWI r2, r1, STACK_R02 55 SWI r3, r1, STACK_R03 56 SWI r4, r1, STACK_R04 57 SWI r5, r1, STACK_R05 58 SWI r6, r1, STACK_R06 59 SWI r7, r1, STACK_R07 60 SWI r8, r1, STACK_R08 61 SWI r9, r1, STACK_R09 62 SWI r10, r1, STACK_R10 63 SWI r11, r1, STACK_R11 64 SWI r12, r1, STACK_R12 65 SWI r13, r1, STACK_R13 66 SWI r14, r1, STACK_R14 67 SWI r15, r1, STACK_R15 68 SWI r17, r1, STACK_R17 69 SWI r18, r1, STACK_R18 70 SWI r19, r1, STACK_R19 71 SWI r20, r1, STACK_R20 72 SWI r21, r1, STACK_R21 73 SWI r22, r1, STACK_R22 74 SWI r23, r1, STACK_R23 75 SWI r24, r1, STACK_R24 76 SWI r25, r1, STACK_R25 77 SWI r26, r1, STACK_R26 78 SWI r27, r1, STACK_R27 79 SWI r28, r1, STACK_R28 80 SWI r29, r1, STACK_R29 81 SWI r30, r1, STACK_R30 82 SWI r31, r1, STACK_R31 83.endm 84 85.macro POP_ALL 86 LWI r31, r1, STACK_R31 87 LWI r30, r1, STACK_R30 88 LWI r29, r1, STACK_R29 89 LWI r28, r1, STACK_R28 90 LWI r27, r1, STACK_R27 91 LWI r26, r1, STACK_R26 92 LWI r25, r1, STACK_R25 93 LWI r24, r1, STACK_R24 94 LWI r23, r1, STACK_R23 95 LWI r22, r1, STACK_R22 96 LWI r21, r1, STACK_R21 97 LWI r20, r1, STACK_R20 98 LWI r19, r1, STACK_R19 99 LWI r18, r1, STACK_R18 100 LWI r17, r1, STACK_R17 101 LWI r15, r1, STACK_R15 102 LWI r14, r1, STACK_R14 103 LWI r13, r1, STACK_R13 104 LWI r12, r1, STACK_R12 105 LWI r11, r1, STACK_R11 106 LWI r10, r1, STACK_R10 107 LWI r9, r1, STACK_R09 108 LWI r8, r1, STACK_R08 109 LWI r7, r1, STACK_R07 110 LWI r6, r1, STACK_R06 111 LWI r5, r1, STACK_R05 112 LWI r4, r1, STACK_R04 113 LWI r3, r1, STACK_R03 114 LWI r2, r1, STACK_R02 115.endm 116 117