summaryrefslogtreecommitdiffstats
path: root/lab1/lab1ucode.in
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2022-02-04 08:58:45 +0100
committerGustav Sörnäs <gustav@sornas.net>2022-02-04 08:58:45 +0100
commit63a6a21f1f728a131b599fca7bc20e2001b2ad33 (patch)
tree85e7ed116c2a567d1017a30381322e3cabd89303 /lab1/lab1ucode.in
parentf3eae905ca1e378948ee228e93f3c697cb879605 (diff)
downloadtsea83-63a6a21f1f728a131b599fca7bc20e2001b2ad33.tar.gz
move to dir
Diffstat (limited to 'lab1/lab1ucode.in')
-rw-r--r--lab1/lab1ucode.in95
1 files changed, 95 insertions, 0 deletions
diff --git a/lab1/lab1ucode.in b/lab1/lab1ucode.in
new file mode 100644
index 0000000..d0a65f9
--- /dev/null
+++ b/lab1/lab1ucode.in
@@ -0,0 +1,95 @@
+pc->asr
+pm->ir, pc++
+k2->upc
+
+direct:
+ir->asr, k1->upc
+
+immediate:
+pc->asr, pc++, k1->upc
+
+indirect:
+ir->asr
+pm->asr, k1->upc
+
+indexed:
+ir->ar
+; ar+gr3->ar
+!1184000
+ar->asr, k1->upc
+
+load:
+pm->grx, 0->upc
+
+store:
+grx->pm, 0->upc
+
+add:
+pm->ar
+ar+grx->ar
+ar->grx, 0->upc
+
+sub:
+grx->ar
+ar-pm->ar
+ar->grx, 0->upc
+
+and:
+grx->ar
+ar&pm->ar
+ar->grx, 0->upc
+
+lsr:
+grx->ar
+pm->lc
+lsr_loop:
+l=1? lsr_exit
+lc--, lsr, b lsr_loop
+lsr_exit:
+ar->grx, 0->upc
+
+bra:
+pc->ar
+ar+'ir->ar
+ar->pc, 0->upc
+
+bne:
+pc->ar
+z=1? bne_done
+ar+'ir->ar
+bne_done:
+ar->pc, 0->upc
+
+halt:
+halt
+
+cmp:
+grx->ar
+ar-pm->ar, 0->upc
+
+bge:
+pc->ar
+; if grx < pm
+n=1? checko1
+o=1? bge_done
+; N, N -> yes
+b bge_jump
+checko1:
+o=1? bge_jump
+b bge_done
+bge_jump:
+ar+'ir->ar
+bge_done:
+ar->pc, 0->upc
+
+beq:
+pc->ar
+z=1? beq_yes
+b beq_no
+beq_yes:
+ar+'ir->ar
+beq_no:
+ar->pc, 0->upc
+
+end:
+b end