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