about summary refs log tree commit diff stats
path: root/mu_instructions
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-05-16 21:46:37 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-05-16 21:47:47 -0700
commit0ab5f6fb3af7d26a102913ef0abe17d114a3e60f (patch)
tree7353d587b51a6a8400b2c9d4cca755dbddb3a684 /mu_instructions
parent92984d557e4ead80ba3e52cdb6be6e6c578a5f9b (diff)
downloadmu-0ab5f6fb3af7d26a102913ef0abe17d114a3e60f.tar.gz
mu.subx: support bitwise not
Diffstat (limited to 'mu_instructions')
-rw-r--r--mu_instructions4
1 files changed, 4 insertions, 0 deletions
diff --git a/mu_instructions b/mu_instructions
index 7a458660..2dca40c4 100644
--- a/mu_instructions
+++ b/mu_instructions
@@ -75,6 +75,10 @@ var/reg <- or n                   => "81 1/subop/or %" reg " " n "/imm32"
 or-with var, n                    => "81 1/subop/or *(ebp+" var.stack-offset ") " n "/imm32"
 or-with *var/reg, n               => "81 1/subop/or *" reg " " n "/imm32"
 
+var/reg <- not                    => "f7 2/subop/not %" reg
+not var                           => "f7 2/subop/not *(ebp+" var.stack-offset ")"
+not *var/reg                      => "f7 2/subop/not *" reg
+
 var/reg <- xor var2/reg2          => "31/xor-with %" reg " " reg2 "/r32"
 var/reg <- xor var2               => "33/xor *(ebp+" var2.stack-offset ") " reg "/r32"
 var/reg <- xor *var2/reg2         => "33/xor *" reg2 " " reg "/r32"