diff options
| -rw-r--r-- | lab1-test.mia | 30 | ||||
| -rw-r--r-- | lab1-upg2.mia | 30 | ||||
| -rw-r--r-- | lab1-upg3.mia | 30 | ||||
| -rw-r--r-- | lab1ucode.in | 12 | ||||
| -rw-r--r-- | lab1ucode.py | 2 |
5 files changed, 55 insertions, 49 deletions
diff --git a/lab1-test.mia b/lab1-test.mia index 5eab6ce..987e4c4 100644 --- a/lab1-test.mia +++ b/lab1-test.mia @@ -312,20 +312,20 @@ MyM: 34: 0000180 35: 02c0000 36: 00004b9 -37: 0000439 -38: 1040000 -39: 0118000 -3a: 0000180 -3b: 02c0000 -3c: 000043e -3d: 000033f -3e: 1040000 -3f: 0118000 -40: 0000180 -41: 0000341 -42: 0000000 -43: 0000000 -44: 0000000 +37: 00005bc +38: 000033b +39: 00005bb +3a: 000033c +3b: 1040000 +3c: 0118000 +3d: 0000180 +3e: 02c0000 +3f: 0000441 +40: 0000342 +41: 1040000 +42: 0118000 +43: 0000180 +44: 0000344 45: 0000000 46: 0000000 47: 0000000 @@ -398,7 +398,7 @@ K1: 08: 31 09: 32 0a: 35 -0b: 3b +0b: 3e 0c: 00 0d: 00 0e: 00 diff --git a/lab1-upg2.mia b/lab1-upg2.mia index 8aadde2..8f2b0cb 100644 --- a/lab1-upg2.mia +++ b/lab1-upg2.mia @@ -312,20 +312,20 @@ MyM: 34: 0000180 35: 02c0000 36: 00004b9 -37: 0000439 -38: 1040000 -39: 0118000 -3a: 0000180 -3b: 02c0000 -3c: 000043e -3d: 000033f -3e: 1040000 -3f: 0118000 -40: 0000180 -41: 0000341 -42: 0000000 -43: 0000000 -44: 0000000 +37: 00005bc +38: 000033b +39: 00005bb +3a: 000033c +3b: 1040000 +3c: 0118000 +3d: 0000180 +3e: 02c0000 +3f: 0000441 +40: 0000342 +41: 1040000 +42: 0118000 +43: 0000180 +44: 0000344 45: 0000000 46: 0000000 47: 0000000 @@ -398,7 +398,7 @@ K1: 08: 31 09: 32 0a: 35 -0b: 3b +0b: 3e 0c: 00 0d: 00 0e: 00 diff --git a/lab1-upg3.mia b/lab1-upg3.mia index c47923a..e095eca 100644 --- a/lab1-upg3.mia +++ b/lab1-upg3.mia @@ -312,20 +312,20 @@ MyM: 34: 0000180 35: 02c0000 36: 00004b9 -37: 0000439 -38: 1040000 -39: 0118000 -3a: 0000180 -3b: 02c0000 -3c: 000043e -3d: 000033f -3e: 1040000 -3f: 0118000 -40: 0000180 -41: 0000341 -42: 0000000 -43: 0000000 -44: 0000000 +37: 00005bc +38: 000033b +39: 00005bb +3a: 000033c +3b: 1040000 +3c: 0118000 +3d: 0000180 +3e: 02c0000 +3f: 0000441 +40: 0000342 +41: 1040000 +42: 0118000 +43: 0000180 +44: 0000344 45: 0000000 46: 0000000 47: 0000000 @@ -398,7 +398,7 @@ K1: 08: 31 09: 32 0a: 35 -0b: 3b +0b: 3e 0c: 00 0d: 00 0e: 00 diff --git a/lab1ucode.in b/lab1ucode.in index 2e012df..d0a65f9 100644 --- a/lab1ucode.in +++ b/lab1ucode.in @@ -70,10 +70,14 @@ ar-pm->ar, 0->upc bge: pc->ar ; if grx < pm -n=1? bge_done -; if grx == pm -z=1? bge_done -; here, !(grx <= pm) <=> 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 diff --git a/lab1ucode.py b/lab1ucode.py index 19d59c2..af410c9 100644 --- a/lab1ucode.py +++ b/lab1ucode.py @@ -120,6 +120,8 @@ def compile(lines): seq = "1000" elif cond == "n=1": seq = "1001" + elif cond == "o=1": + seq = "1011" else: assert False myadr = f"<{to}>" |
