diff options
-rw-r--r-- | arm9/asm/MI_swap.s | 9 | ||||
-rw-r--r-- | arm9/lib/include/MI_swap.h | 6 | ||||
-rw-r--r-- | arm9/lib/src/MI_swap.c | 16 |
3 files changed, 22 insertions, 9 deletions
diff --git a/arm9/asm/MI_swap.s b/arm9/asm/MI_swap.s deleted file mode 100644 index 576b38dc..00000000 --- a/arm9/asm/MI_swap.s +++ /dev/null @@ -1,9 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - arm_func_start MI_SwapWord -MI_SwapWord: ; 0x020CE520 - swp r0, r0, [r1] - bx lr diff --git a/arm9/lib/include/MI_swap.h b/arm9/lib/include/MI_swap.h new file mode 100644 index 00000000..433b5804 --- /dev/null +++ b/arm9/lib/include/MI_swap.h @@ -0,0 +1,6 @@ +#ifndef NITRO_MI_SWAP_H_ +#define NITRO_MI_SWAP_H_ + +u32 MI_SwapWord(u32 setData, volatile u32 * destp); + +#endif //NITRO_MI_SWAP_H_ diff --git a/arm9/lib/src/MI_swap.c b/arm9/lib/src/MI_swap.c new file mode 100644 index 00000000..b72e1386 --- /dev/null +++ b/arm9/lib/src/MI_swap.c @@ -0,0 +1,16 @@ +#include "global.h" +#include "MI_swap.h" + +/* + * Exchange 32 bits of data between register and memory. + * + * The SDK also defines an 8-bit version of this routine, + * but it is not linked in pokediamond. + */ + +asm +u32 MI_SwapWord(register u32 setData, register vu32 * destp) +{ + swp setData, setData, [destp] + bx lr +} |