diff options
author | Damien George <damien.p.george@gmail.com> | 2014-04-21 13:33:15 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-04-21 13:33:15 +0100 |
commit | e5f8a77db6b7328b9583cbd0fe6ac73535fca1a0 (patch) | |
tree | dc781d058bc820f6e9300bfe5ee56629c46f11f2 /py/emitinlinethumb.c | |
parent | 764af4b7c585831afa4996c2cf371403330faa35 (diff) | |
download | micropython-e5f8a77db6b7328b9583cbd0fe6ac73535fca1a0.tar.gz micropython-e5f8a77db6b7328b9583cbd0fe6ac73535fca1a0.zip |
py: Add 'align' and 'data' meta-instructions to inline assembler.
Diffstat (limited to 'py/emitinlinethumb.c')
-rw-r--r-- | py/emitinlinethumb.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/py/emitinlinethumb.c b/py/emitinlinethumb.c index dabd5a8831..1ed5526631 100644 --- a/py/emitinlinethumb.c +++ b/py/emitinlinethumb.c @@ -104,6 +104,14 @@ STATIC void emit_inline_thumb_label(emit_inline_asm_t *emit, uint label_num, qst asm_thumb_label_assign(emit->as, label_num); } +STATIC void emit_inline_thumb_align(emit_inline_asm_t *emit, uint align) { + asm_thumb_align(emit->as, align); +} + +STATIC void emit_inline_thumb_data(emit_inline_asm_t *emit, uint bytesize, uint val) { + asm_thumb_data(emit->as, bytesize, val); +} + typedef struct _reg_name_t { byte reg; byte name[3]; } reg_name_t; STATIC const reg_name_t reg_name_table[] = { {0, "r0\0"}, @@ -418,6 +426,8 @@ const emit_inline_asm_method_table_t emit_inline_thumb_method_table = { emit_inline_thumb_end_pass, emit_inline_thumb_count_params, emit_inline_thumb_label, + emit_inline_thumb_align, + emit_inline_thumb_data, emit_inline_thumb_op, }; |