| |
| ; real |
| ; GAS defines r0..r7 as aliases for real registers; we want the saddr |
| ; forms here. |
| r_0 = 0xffef8 |
| r_1 = 0xffef9 |
| r_2 = 0xffefa |
| r_3 = 0xffefb |
| r_4 = 0xffefc |
| r_5 = 0xffefd |
| r_6 = 0xffefe |
| r_7 = 0xffeff |
| |
| #ifdef __RL78_G10__ |
| |
| ; clobberable |
| r8 = 0xffec8 |
| r9 = 0xffec9 |
| r10 = 0xffeca |
| r11 = 0xffecb |
| r12 = 0xffecc |
| r13 = 0xffecd |
| r14 = 0xffece |
| r15 = 0xffecf |
| ; preserved |
| r16 = 0xffed0 |
| r17 = 0xffed1 |
| r18 = 0xffed2 |
| r19 = 0xffed3 |
| r20 = 0xffed4 |
| r21 = 0xffed5 |
| r22 = 0xffed6 |
| r23 = 0xffed7 |
| |
| #else |
| |
| ; clobberable |
| r8 = 0xffef0 |
| r9 = 0xffef1 |
| r10 = 0xffef2 |
| r11 = 0xffef3 |
| r12 = 0xffef4 |
| r13 = 0xffef5 |
| r14 = 0xffef6 |
| r15 = 0xffef7 |
| ; preserved |
| r16 = 0xffee8 |
| r17 = 0xffee9 |
| r18 = 0xffeea |
| r19 = 0xffeeb |
| r20 = 0xffeec |
| r21 = 0xffeed |
| r22 = 0xffeee |
| r23 = 0xffeef |
| |
| #endif |
| |
| .macro START_ANOTHER_FUNC name |
| .global \name |
| .type \name , @function |
| \name: |
| .endm |
| |
| /* Start a function in its own section, so that it |
| can be subject to linker garbage collection. */ |
| .macro START_FUNC name |
| .pushsection .text.\name,"ax",@progbits |
| START_ANOTHER_FUNC \name |
| .endm |
| |
| .macro END_ANOTHER_FUNC name |
| .size \name , . - \name |
| .endm |
| |
| /* End the function. Set the size. */ |
| .macro END_FUNC name |
| END_ANOTHER_FUNC \name |
| .popsection |
| .endm |