aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/py/emitnthumb.c
diff options
context:
space:
mode:
Diffstat (limited to 'circuitpython/py/emitnthumb.c')
-rw-r--r--circuitpython/py/emitnthumb.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/circuitpython/py/emitnthumb.c b/circuitpython/py/emitnthumb.c
new file mode 100644
index 0000000..1c33e7a
--- /dev/null
+++ b/circuitpython/py/emitnthumb.c
@@ -0,0 +1,20 @@
+// thumb specific stuff
+
+#include "py/mpconfig.h"
+
+#if MICROPY_EMIT_THUMB
+
+// this is defined so that the assembler exports generic assembler API macros
+#define GENERIC_ASM_API (1)
+#include "py/asmthumb.h"
+
+// Word indices of REG_LOCAL_x in nlr_buf_t
+#define NLR_BUF_IDX_LOCAL_1 (3) // r4
+#define NLR_BUF_IDX_LOCAL_2 (4) // r5
+#define NLR_BUF_IDX_LOCAL_3 (5) // r6
+
+#define N_THUMB (1)
+#define EXPORT_FUN(name) emit_native_thumb_##name
+#include "py/emitnative.c"
+
+#endif