42 lines
615 B
ArmAsm
42 lines
615 B
ArmAsm
.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
|