summaryrefslogtreecommitdiff
path: root/py/asmx86.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2020-06-25 13:09:07 +1000
committerDamien George <damien@micropython.org>2020-06-27 00:24:04 +1000
commitaa26fe62d8728c95d447475ced9b4a03380025ea (patch)
tree6a0147babbb940d6d0aa261a2c3fd41aaa8cd026 /py/asmx86.c
parent137df817575e06b7bd765fb230a99d108f1d4f61 (diff)
py/asm: Add funcs/macros to emit machine code for logical-shift-right.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/asmx86.c')
-rw-r--r--py/asmx86.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/py/asmx86.c b/py/asmx86.c
index 96de372ae..4b0f8047f 100644
--- a/py/asmx86.c
+++ b/py/asmx86.c
@@ -67,6 +67,7 @@
// #define OPCODE_SHR_RM32_BY_I8 (0xc1) /* /5 */
// #define OPCODE_SAR_RM32_BY_I8 (0xc1) /* /7 */
#define OPCODE_SHL_RM32_CL (0xd3) /* /4 */
+#define OPCODE_SHR_RM32_CL (0xd3) /* /5 */
#define OPCODE_SAR_RM32_CL (0xd3) /* /7 */
// #define OPCODE_CMP_I32_WITH_RM32 (0x81) /* /7 */
// #define OPCODE_CMP_I8_WITH_RM32 (0x83) /* /7 */
@@ -259,6 +260,10 @@ void asm_x86_shl_r32_cl(asm_x86_t *as, int dest_r32) {
asm_x86_generic_r32_r32(as, dest_r32, 4, OPCODE_SHL_RM32_CL);
}
+void asm_x86_shr_r32_cl(asm_x86_t *as, int dest_r32) {
+ asm_x86_generic_r32_r32(as, dest_r32, 5, OPCODE_SHR_RM32_CL);
+}
+
void asm_x86_sar_r32_cl(asm_x86_t *as, int dest_r32) {
asm_x86_generic_r32_r32(as, dest_r32, 7, OPCODE_SAR_RM32_CL);
}