Incorporate emit_thumb into new emit framework.
diff --git a/py/compile.c b/py/compile.c
index f0d3934..89a8d2b 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -30,6 +30,7 @@
 #define EMIT_OPT_NONE           (0)
 #define EMIT_OPT_BYTE_CODE      (1)
 #define EMIT_OPT_NATIVE_PYTHON  (2)
+#define EMIT_OPT_ASM_THUMB      (3)
 
 typedef struct _compiler_t {
     qstr qstr___class__;
@@ -41,6 +42,7 @@
     qstr qstr_assertion_error;
     qstr qstr_micropython;
     qstr qstr_native;
+    qstr qstr_asm_thumb;
 
     pass_kind_t pass;
 
@@ -759,6 +761,8 @@
     qstr attr = PY_PARSE_NODE_LEAF_ARG(name_nodes[1]);
     if (attr == comp->qstr_native) {
         *emit_options = EMIT_OPT_NATIVE_PYTHON;
+    } else if (attr == comp->qstr_asm_thumb) {
+        *emit_options = EMIT_OPT_ASM_THUMB;
     } else {
         printf("SyntaxError: invalid micropython decorator\n");
     }
@@ -2551,6 +2555,7 @@
     comp->qstr_assertion_error = qstr_from_str_static("AssertionError");
     comp->qstr_micropython = qstr_from_str_static("micropython");
     comp->qstr_native = qstr_from_str_static("native");
+    comp->qstr_asm_thumb = qstr_from_str_static("asm_thumb");
 
     comp->max_num_labels = 0;
     comp->break_label = 0;
@@ -2588,6 +2593,9 @@
                 comp->emit_method_table = &emit_x64_method_table;
                 break;
 
+            //case EMIT_OPT_ASM_THUMB:
+                //if (em
+
             default:
                 if (emit_bc == NULL) {
                     emit_bc = emit_bc_new(comp->max_num_labels);