mirror of
https://github.com/LNH-team/pico-loader.git
synced 2026-06-02 09:16:49 +02:00
53 lines
863 B
C
53 lines
863 B
C
#pragma once
|
|
|
|
.macro BEGIN_ARM_FUNCTION name
|
|
.global \name
|
|
.arm
|
|
.type \name, %function
|
|
.balign 4
|
|
\name:
|
|
.endm
|
|
|
|
.macro BEGIN_THUMB_FUNCTION name
|
|
.global \name
|
|
.thumb
|
|
.type \name, %function
|
|
.balign 2
|
|
\name:
|
|
.endm
|
|
|
|
.macro INTERWORK name
|
|
\name:
|
|
bx r4
|
|
.balign 4
|
|
.pool
|
|
.endm
|
|
|
|
#ifdef LITE
|
|
|
|
.macro CALL func, interworkLabel
|
|
ldr r4, \func\()_\interworkLabel\()Lite_address
|
|
bl \interworkLabel
|
|
.endm
|
|
|
|
.macro INTERWORK_FUNCTION func, interworkLabel
|
|
.global \func\()_\interworkLabel\()Lite_address
|
|
\func\()_\interworkLabel\()Lite_address:
|
|
.word 0
|
|
.endm
|
|
|
|
#else
|
|
|
|
.macro CALL func, interworkLabel
|
|
ldr r4, \func\()_\interworkLabel\()_address
|
|
bl \interworkLabel
|
|
.endm
|
|
|
|
.macro INTERWORK_FUNCTION func, interworkLabel
|
|
.global \func\()_\interworkLabel\()_address
|
|
\func\()_\interworkLabel\()_address:
|
|
.word 0
|
|
.endm
|
|
|
|
#endif
|