| 	.toc | 
 |  | 
 | 	.macro	defabs,type,name,value | 
 | 	\type	\name | 
 | 	\name	= \value | 
 | 	.endm | 
 |  | 
 | 	.macro	deffun,type,name,fn | 
 | 	\type	\name | 
 | 	.csect	\name\()[DS] | 
 | \name\(): | 
 | 	.if	size == 32 | 
 | 	.long	.\name\()[PR],TOC[TC0],0 | 
 | 	.else | 
 | 	.llong	.\name\()[PR],TOC[TC0],0 | 
 | 	.endif | 
 |  | 
 | 	.globl	.\name | 
 | 	.csect	.\name\()[PR] | 
 | .\name\(): | 
 | 	nop | 
 | 	.endm | 
 |  | 
 | 	.macro	defdata,type,name,contents | 
 | 	\type	\name | 
 | 	.csect	\name\()[RW] | 
 | \name\(): | 
 | 	.long	\contents | 
 | 	.endm | 
 |  | 
 | 	defabs	.globl,a1,0xf100 | 
 | 	deffun	.globl,a2 | 
 | 	defdata	.globl,a3,0x1100 | 
 |  | 
 | 	defabs	.globl,b1,0xf200 | 
 | 	deffun	.globl,b2 | 
 | 	defdata	.globl,b3,0x2200 | 
 |  | 
 | 	defabs	.weak,c1,0xf300 | 
 | 	deffun	.weak,c2 | 
 | 	defdata	.weak,c3,0x3300 |