diff options
author | adminpete <peter@hinch.me.uk> | 2015-10-31 09:38:22 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-10-31 10:50:45 +0000 |
commit | d6201fc4b74e78e7eb9cec91c444884df2efbb7c (patch) | |
tree | 4faba6b9e25dd22a4bbcf9ba4c945e579acd6fab /py | |
parent | 165734522ee48f4452125d9c56b1a9e41d24f630 (diff) | |
download | micropython-d6201fc4b74e78e7eb9cec91c444884df2efbb7c.tar.gz micropython-d6201fc4b74e78e7eb9cec91c444884df2efbb7c.zip |
py: In inline asm, vldr and vstr offsets now in bytes not words.
As per ARM convention.
Diffstat (limited to 'py')
-rw-r--r-- | py/emitinlinethumb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/py/emitinlinethumb.c b/py/emitinlinethumb.c index c7310d7422..6e341d0b0a 100644 --- a/py/emitinlinethumb.c +++ b/py/emitinlinethumb.c @@ -473,7 +473,7 @@ STATIC void emit_inline_thumb_op(emit_inline_asm_t *emit, qstr op, mp_uint_t n_a if (get_arg_addr(emit, op_str, pn_args[1], &pn_base, &pn_offset)) { mp_uint_t rlo_base = get_arg_reg(emit, op_str, pn_base, 7); mp_uint_t i8; - i8 = get_arg_i(emit, op_str, pn_offset, 0xff); + i8 = get_arg_i(emit, op_str, pn_offset, 0x3fc) >> 2; asm_thumb_op32(emit->as, op_code_hi | rlo_base | ((vd & 1) << 6), 0x0a00 | ((vd & 0x1e) << 11) | i8); |