summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2022-05-16 14:40:24 +1000
committerDamien George <damien@micropython.org>2022-05-17 14:25:51 +1000
commit8e1db993cd6bca93c031619e05c465f05c48381c (patch)
tree577f22c7394e31f871bb8d79c6f400ca1b29716c /py
parent6f68a8c2402dfd6b38363e61998e046735c1ab67 (diff)
py/asmx64: Support full range of regs in asm_x64_lea_disp_to_r64.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py')
-rw-r--r--py/asmx64.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/py/asmx64.c b/py/asmx64.c
index 62df5c6d4..5c923a523 100644
--- a/py/asmx64.c
+++ b/py/asmx64.c
@@ -319,9 +319,7 @@ void asm_x64_mov_mem64_to_r64(asm_x64_t *as, int src_r64, int src_disp, int dest
STATIC void asm_x64_lea_disp_to_r64(asm_x64_t *as, int src_r64, int src_disp, int dest_r64) {
// use REX prefix for 64 bit operation
- assert(src_r64 < 8);
- assert(dest_r64 < 8);
- asm_x64_write_byte_2(as, REX_PREFIX | REX_W, OPCODE_LEA_MEM_TO_R64);
+ asm_x64_write_byte_2(as, REX_PREFIX | REX_W | REX_R_FROM_R64(dest_r64) | REX_B_FROM_R64(src_r64), OPCODE_LEA_MEM_TO_R64);
asm_x64_write_r64_disp(as, dest_r64, src_r64, src_disp);
}