diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-05-16 21:48:24 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-05-16 21:48:24 -0700 |
commit | 6a47fad86f14e3181542aac671595f7b97ce4b0f (patch) | |
tree | c0775ec686afa97754753ae78ddcf2ff783fafc6 | |
parent | 0ab5f6fb3af7d26a102913ef0abe17d114a3e60f (diff) | |
download | mu-6a47fad86f14e3181542aac671595f7b97ce4b0f.tar.gz |
.
-rw-r--r-- | mu.md | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/mu.md b/mu.md index e3ed5418..ef948790 100644 --- a/mu.md +++ b/mu.md @@ -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 |