From ab26c894c889047305ad376ec644f32abe545cd2 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Tue, 14 Jul 2020 21:42:20 -0700 Subject: [PATCH] 6648 - bit-shift instructions in Mu I'm not happy with the names. --- apps/mu | Bin 352146 -> 352713 bytes apps/mu.subx | 138 ++++++++++++++++++++++++++++++++++++++++++++++++ mu.md | 7 +++ mu_instructions | 7 +++ 4 files changed, 152 insertions(+) diff --git a/apps/mu b/apps/mu index 2cfa2ea6cf9bf492a09728bdd3a59c5cb06b3924..f91332b481c1586ee558cd006d5f02ef2813d854 100755 GIT binary patch delta 74180 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 delta 73710 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 diff --git a/apps/mu.subx b/apps/mu.subx index 01ba959b..d6f68b14 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -15811,6 +15811,114 @@ _Primitive-xor-lit-with-mem: # (payload primitive) 0/imm32/no-disp32 0/imm32/output-is-write-only 0x11/imm32/alloc-id:fake + _Primitive-shift-reg-left-by-lit/imm32/next +_Primitive-shift-reg-left-by-lit: # (payload primitive) + 0x11/imm32/alloc-id:fake:payload + # var1/reg <- shift-left lit => c1/shift 4/subop/left var1/rm32 lit/imm32 + 0x11/imm32/alloc-id:fake + _string-shift-left/imm32/name + 0x11/imm32/alloc-id:fake + Single-lit-var/imm32/inouts + 0x11/imm32/alloc-id:fake + Single-int-var-in-some-register/imm32/outputs + 0x11/imm32/alloc-id:fake + _string_c1_subop_shift_left/imm32/subx-name + 3/imm32/rm32-is-first-output + 0/imm32/no-r32 + 1/imm32/imm32-is-first-inout + 0/imm32/no-disp32 + 0/imm32/output-is-write-only + 0x11/imm32/alloc-id:fake + _Primitive-shift-reg-right-by-lit/imm32/next +_Primitive-shift-reg-right-by-lit: # (payload primitive) + 0x11/imm32/alloc-id:fake:payload + # var1/reg <- shift-right lit => c1/shift 5/subop/right var1/rm32 lit/imm32 + 0x11/imm32/alloc-id:fake + _string-shift-right/imm32/name + 0x11/imm32/alloc-id:fake + Single-lit-var/imm32/inouts + 0x11/imm32/alloc-id:fake + Single-int-var-in-some-register/imm32/outputs + 0x11/imm32/alloc-id:fake + _string_c1_subop_shift_right_padding_zeroes/imm32/subx-name + 3/imm32/rm32-is-first-output + 0/imm32/no-r32 + 1/imm32/imm32-is-first-inout + 0/imm32/no-disp32 + 0/imm32/output-is-write-only + 0x11/imm32/alloc-id:fake + _Primitive-shift-reg-right-signed-by-lit/imm32/next +_Primitive-shift-reg-right-signed-by-lit: # (payload primitive) + 0x11/imm32/alloc-id:fake:payload + # var1/reg <- shift-right-signed lit => c1/shift 7/subop/right-preserving-sign var1/rm32 lit/imm32 + 0x11/imm32/alloc-id:fake + _string-shift-right-signed/imm32/name + 0x11/imm32/alloc-id:fake + Single-lit-var/imm32/inouts + 0x11/imm32/alloc-id:fake + Single-int-var-in-some-register/imm32/outputs + 0x11/imm32/alloc-id:fake + _string_c1_subop_shift_right_preserving_sign/imm32/subx-name + 3/imm32/rm32-is-first-output + 0/imm32/no-r32 + 1/imm32/imm32-is-first-inout + 0/imm32/no-disp32 + 0/imm32/output-is-write-only + 0x11/imm32/alloc-id:fake + _Primitive-shift-mem-left-by-lit/imm32/next +_Primitive-shift-mem-left-by-lit: # (payload primitive) + 0x11/imm32/alloc-id:fake:payload + # shift-left var1, lit => c1/shift 4/subop/left var1/rm32 lit/imm32 + 0x11/imm32/alloc-id:fake + _string-shift-left/imm32/name + 0x11/imm32/alloc-id:fake + Int-var-and-literal/imm32/inouts + 0/imm32/no-outputs + 0/imm32/no-outputs + 0x11/imm32/alloc-id:fake + _string_c1_subop_shift_left/imm32/subx-name + 1/imm32/rm32-is-first-inout + 0/imm32/no-r32 + 2/imm32/imm32-is-second-inout + 0/imm32/no-disp32 + 0/imm32/output-is-write-only + 0x11/imm32/alloc-id:fake + _Primitive-shift-mem-right-by-lit/imm32/next +_Primitive-shift-mem-right-by-lit: # (payload primitive) + 0x11/imm32/alloc-id:fake:payload + # shift-right var1, lit => c1/shift 5/subop/right var1/rm32 lit/imm32 + 0x11/imm32/alloc-id:fake + _string-shift-right/imm32/name + 0x11/imm32/alloc-id:fake + Int-var-and-literal/imm32/inouts + 0/imm32/no-outputs + 0/imm32/no-outputs + 0x11/imm32/alloc-id:fake + _string_c1_subop_shift_right_padding_zeroes/imm32/subx-name + 1/imm32/rm32-is-first-inout + 0/imm32/no-r32 + 2/imm32/imm32-is-second-inout + 0/imm32/no-disp32 + 0/imm32/output-is-write-only + 0x11/imm32/alloc-id:fake + _Primitive-shift-mem-right-signed-by-lit/imm32/next +_Primitive-shift-mem-right-signed-by-lit: # (payload primitive) + 0x11/imm32/alloc-id:fake:payload + # shift-right-signed var1, lit => c1/shift 7/subop/right-preserving-sign var1/rm32 lit/imm32 + 0x11/imm32/alloc-id:fake + _string-shift-right-signed/imm32/name + 0x11/imm32/alloc-id:fake + Int-var-and-literal/imm32/inouts + 0/imm32/no-outputs + 0/imm32/no-outputs + 0x11/imm32/alloc-id:fake + _string_c1_subop_shift_right_preserving_sign/imm32/subx-name + 1/imm32/rm32-is-first-inout + 0/imm32/no-r32 + 2/imm32/imm32-is-second-inout + 0/imm32/no-disp32 + 0/imm32/output-is-write-only + 0x11/imm32/alloc-id:fake _Primitive-copy-to-eax/imm32/next # - copy _Primitive-copy-to-eax: # (payload primitive) @@ -17188,6 +17296,21 @@ _string-xor-with: # (payload array byte) # "xor-with" 0x8/imm32/size 0x78/x 0x6f/o 0x72/r 0x2d/dash 0x77/w 0x69/i 0x74/t 0x68/h +_string-shift-left: # (payload array byte) + 0x11/imm32/alloc-id:fake:payload + # "shift-left" + 0xa/imm32/size + 0x73/s 0x68/h 0x69/i 0x66/f 0x74/t 0x2d/dash 0x6c/l 0x65/e 0x66/f 0x74/t +_string-shift-right: # (payload array byte) + 0x11/imm32/alloc-id:fake:payload + # "shift-right" + 0xb/imm32/size + 0x73/s 0x68/h 0x69/i 0x66/f 0x74/t 0x2d/dash 0x72/r 0x69/i 0x67/g 0x68/h 0x74/t +_string-shift-right-signed: # (payload array byte) + 0x11/imm32/alloc-id:fake:payload + # "shift-right-signed" + 0x12/imm32/size + 0x73/s 0x68/h 0x69/i 0x66/f 0x74/t 0x2d/dash 0x72/r 0x69/i 0x67/g 0x68/h 0x74/t 0x2d/dash 0x73/s 0x69/i 0x67/g 0x6e/n 0x65/e 0x64/d # string literals for SubX instructions _string_01_add_to: # (payload array byte) @@ -17610,6 +17733,21 @@ _string_ff_subop_decrement: # (payload array byte) # "ff 1/subop/decrement" 0x14/imm32/size 0x66/f 0x66/f 0x20/space 0x31/1 0x2f/slash 0x73/s 0x75/u 0x62/b 0x6f/o 0x70/p 0x2f/slash 0x64/d 0x65/e 0x63/c 0x72/r 0x65/e 0x6d/m 0x65/e 0x6e/n 0x74/t +_string_c1_subop_shift_left: # (payload array byte) + 0x11/imm32/alloc-id:fake:payload + # "c1/shift 4/subop/left" + 0x15/imm32/size + 0x63/c 0x31/1 0x2f/slash 0x73/s 0x68/h 0x69/i 0x66/f 0x74/t 0x20/space 0x34/4 0x2f/slash 0x73/s 0x75/u 0x62/b 0x6f/o 0x70/p 0x2f/slash 0x6c/l 0x65/e 0x66/f 0x74/t +_string_c1_subop_shift_right_padding_zeroes: # (payload array byte) + 0x11/imm32/alloc-id:fake:payload + # "c1/shift 5/subop/right-padding-zeroes" + 0x25/imm32/size + 0x63/c 0x31/1 0x2f/slash 0x73/s 0x68/h 0x69/i 0x66/f 0x74/t 0x20/space 0x35/5 0x2f/slash 0x73/s 0x75/u 0x62/b 0x6f/o 0x70/p 0x2f/slash 0x72/r 0x69/i 0x67/g 0x68/h 0x74/t 0x2d/dash 0x70/p 0x61/a 0x64/d 0x64/d 0x69/i 0x6e/n 0x67/g 0x2d/dash 0x7a/z 0x65/e 0x72/r 0x6f/o 0x65/e 0x73/s +_string_c1_subop_shift_right_preserving_sign: # (payload array byte) + 0x11/imm32/alloc-id:fake:payload + # "c1/shift 7/subop/right-preserving-sign" + 0x26/imm32/size + 0x63/c 0x31/1 0x2f/slash 0x73/s 0x68/h 0x69/i 0x66/f 0x74/t 0x20/space 0x37/7 0x2f/slash 0x73/s 0x75/u 0x62/b 0x6f/o 0x70/p 0x2f/slash 0x72/r 0x69/i 0x67/g 0x68/h 0x74/t 0x2d/dash 0x70/p 0x72/r 0x65/e 0x73/s 0x65/e 0x72/r 0x76/v 0x69/i 0x6e/n 0x67/g 0x2d/dash 0x73/s 0x69/i 0x67/g 0x6e/n Single-int-var-in-mem: # (payload list var) 0x11/imm32/alloc-id:fake:payload diff --git a/mu.md b/mu.md index 429f2034..be91fc10 100644 --- a/mu.md +++ b/mu.md @@ -188,6 +188,13 @@ compare var1/reg, var2 compare var/eax, n compare var, n +var/reg <- shift-left n +var/reg <- shift-right n +var/reg <- shift-right-signed n +shift-left var, n +shift-right var, n +shift-right-signed var, n + var/reg <- multiply var2 ``` diff --git a/mu_instructions b/mu_instructions index c23606ec..69999444 100644 --- a/mu_instructions +++ b/mu_instructions @@ -76,6 +76,13 @@ var/reg <- xor n => "81 6/subop/xor %" reg " " n "/imm32" xor-with var, n => "81 6/subop/xor *(ebp+" var.stack-offset ") " n "/imm32" xor-with *var/reg, n => "81 6/subop/xor *" reg " " n "/imm32" +var/reg <- shift-left n +var/reg <- shift-right n +var/reg <- shift-right-signed n +shift-left var, n +shift-right var, n +shift-right-signed var, n + var/eax <- copy n => "b8/copy-to-eax " n "/imm32" var/ecx <- copy n => "b9/copy-to-ecx " n "/imm32" var/edx <- copy n => "ba/copy-to-edx " n "/imm32"