1 2 ; real 3 ; GAS defines r0..r7 as aliases for real registers; we want the saddr 4 ; forms here. 5 r_0 = 0xffef8 6 r_1 = 0xffef9 7 r_2 = 0xffefa 8 r_3 = 0xffefb 9 r_4 = 0xffefc 10 r_5 = 0xffefd 11 r_6 = 0xffefe 12 r_7 = 0xffeff 13 14 #ifdef __RL78_G10__ 15 16 ; clobberable 17 r8 = 0xffec8 18 r9 = 0xffec9 19 r10 = 0xffeca 20 r11 = 0xffecb 21 r12 = 0xffecc 22 r13 = 0xffecd 23 r14 = 0xffece 24 r15 = 0xffecf 25 ; preserved 26 r16 = 0xffed0 27 r17 = 0xffed1 28 r18 = 0xffed2 29 r19 = 0xffed3 30 r20 = 0xffed4 31 r21 = 0xffed5 32 r22 = 0xffed6 33 r23 = 0xffed7 34 35 #else 36 37 ; clobberable 38 r8 = 0xffef0 39 r9 = 0xffef1 40 r10 = 0xffef2 41 r11 = 0xffef3 42 r12 = 0xffef4 43 r13 = 0xffef5 44 r14 = 0xffef6 45 r15 = 0xffef7 46 ; preserved 47 r16 = 0xffee8 48 r17 = 0xffee9 49 r18 = 0xffeea 50 r19 = 0xffeeb 51 r20 = 0xffeec 52 r21 = 0xffeed 53 r22 = 0xffeee 54 r23 = 0xffeef 55 56 #endif 57 58 .macro START_ANOTHER_FUNC name 59 .global \name 60 .type \name , @function 61 \name: 62 .endm 63 64 /* Start a function in its own section, so that it 65 can be subject to linker garbage collection. */ 66 .macro START_FUNC name 67 .pushsection .text.\name,"ax",@progbits 68 START_ANOTHER_FUNC \name 69 .endm 70 71 .macro END_ANOTHER_FUNC name 72 .size \name , . - \name 73 .endm 74 75 /* End the function. Set the size. */ 76 .macro END_FUNC name 77 END_ANOTHER_FUNC \name 78 .popsection 79 .endm 80