mirror of
https://github.com/micropython/micropython.git
synced 2026-01-07 12:40:15 +01:00
py/asm: Add funcs/macros to emit machine code for logical-shift-right.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user