This commit is contained in:
Kartik K. Agaram 2021-05-16 21:48:24 -07:00
parent 0ab5f6fb3a
commit 6a47fad86f
1 changed files with 18 additions and 15 deletions

33
mu.md
View File

@ -209,21 +209,6 @@ subtract-from var1, var2/reg
var/reg <- subtract n
subtract-from var, n
var1/reg1 <- and var2/reg2
var/reg <- and var2
and-with var1, var2/reg
var/reg <- and n
and-with var, n
var1/reg1 <- or var2/reg2
var/reg <- or var2
or-with var1, var2/reg
var/reg <- or n
or-with var, n
var1/reg1 <- not
not var
var1/reg1 <- xor var2/reg2
var/reg <- xor var2
xor-with var1, var2/reg
@ -254,6 +239,24 @@ shift-right-signed var, n
var/reg <- multiply var2
```
Bitwise operations:
```
var1/reg1 <- and var2/reg2
var/reg <- and var2
and-with var1, var2/reg
var/reg <- and n
and-with var, n
var1/reg1 <- or var2/reg2
var/reg <- or var2
or-with var1, var2/reg
var/reg <- or n
or-with var, n
var1/reg1 <- not
not var
```
Any statement above that takes a variable in memory can be replaced with a
dereference (`*`) of an address variable (of type `(addr ...)`) in a register.
You can't dereference variables in memory. You have to load them into a