summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-07-09 14:34:23 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-07-09 14:34:23 -0400
commit3b6a10b8b12f0a58663e8625a121562d8f1ff046 (patch)
tree10ca05267b7f6285e08fb1edf835ac1073528215
parent32acefa0bc9d38d055c5662694fc9ce966d50844 (diff)
MI_swap.c
-rw-r--r--arm9/asm/MI_swap.s9
-rw-r--r--arm9/lib/include/MI_swap.h6
-rw-r--r--arm9/lib/src/MI_swap.c16
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
+}