Update/add instructions in parser

* StoreImm just uses a u64 instead of u32 - we'll figure out the layout
  later
* Jmp implementation added (can't believe I forgot this)
* Add Inst AST item, whose immediates don't have to be a u64 right away

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2020-01-28 13:51:25 -05:00
parent 7e6c621c2b
commit f98a53654e
6 changed files with 63 additions and 29 deletions

View File

@@ -2,22 +2,27 @@
.section code
storeimm %r0, $0xDEAD
storeimm %r1, $16
main:
storeimm %r00, $0xDEAD
storeimm %r01, $16
shl %r0, %r1
shl %r00, %r01
storeimm %r1, $0xBEEF
or %r0, %r1
storeimm %r01, $0xBEEF
or %r00, %r01
storeimm %r1, $0xDEADBEEF
cmpeq %r0, %r1
jz failure
storeimm %r01, $0xDEADBEEF
jmp ok
storeimm %r00, failure
storeimm %r01, ok
cmpeq %r00, %r01
jz %r00
jmp %r01
failure:
storeimm %status, $1
halt
storeimm %status, $1
halt
ok: