summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-05-11 22:42:50 -0400
committerbd <bdunahu@operationnull.com>2025-05-11 22:42:50 -0400
commitbb7de0c564309a52ff34fed7a8904552c4616492 (patch)
tree4cc60cf326a744ac86b4367d3be0f77c1bfc56eb
parent0c81e5b481db57e14ccd0b2841b24baae15d30f9 (diff)
Convert tabs to spacesHEADmaster
-rw-r--r--input/adjacent-adder-manual.asm2
-rw-r--r--input/adjacent-adder-vector.asm24
-rw-r--r--input/adjacent-adder.asm14
-rw-r--r--input/dominative-functions.asm88
-rw-r--r--input/easy-matrices.asm104
-rw-r--r--input/exchange-sort.asm98
-rw-r--r--input/hard-matrices.asm104
-rw-r--r--input/identity.asm84
-rw-r--r--input/infinity.asm14
-rw-r--r--input/matrix-vector.asm122
-rw-r--r--input/maximum-limit.asm18
-rw-r--r--input/over_or_under.asm82
-rw-r--r--input/primes-generator.asm94
-rw-r--r--input/rabbits.asm23
-rw-r--r--input/stacktopia.asm28
-rw-r--r--input/stride.asm45
-rw-r--r--input/there-and-back-again.asm24
-rw-r--r--input/vector_fun.asm28
18 files changed, 495 insertions, 501 deletions
diff --git a/input/adjacent-adder-manual.asm b/input/adjacent-adder-manual.asm
index b575959..9d50a44 100644
--- a/input/adjacent-adder-manual.asm
+++ b/input/adjacent-adder-manual.asm
@@ -4,7 +4,7 @@
;;; Does not make use of variables.
.data
- ;; empty
+ ;; empty
.text
addi $2 $0 0x200
addi $5 $0 0x1
diff --git a/input/adjacent-adder-vector.asm b/input/adjacent-adder-vector.asm
index a8fc55d..419e11c 100644
--- a/input/adjacent-adder-vector.asm
+++ b/input/adjacent-adder-vector.asm
@@ -3,16 +3,16 @@
;;; storing the result in place. Uses the vector type.
.data
- arr 1 2 3 4
- s 3
+ arr 1 2 3 4
+ s 3
.text
- load $4 s($0) ; set the vector-length register
- addi $5 $0 arr
- srdl $16 0($5)
- addi $5 $5 0x1
- srdl $17 0($6)
- addv $16 $16 $17
- srds $16 arr($0)
- nop
- nop
- nop
+ load $4 s($0) ; set the vector-length register
+ addi $5 $0 arr
+ srdl $16 $5 $16
+ addi $6 $5 0x1
+ srdl $17 $6 $16
+ addv $18 $18 $17
+ srds $18 $5 $15
+ nop
+ nop
+ nop
diff --git a/input/adjacent-adder.asm b/input/adjacent-adder.asm
index 975e581..0d38bf4 100644
--- a/input/adjacent-adder.asm
+++ b/input/adjacent-adder.asm
@@ -3,17 +3,17 @@
;;; storing the result in place.
.data
- arr 1 2 3 4
- s 3
- i 0
+ arr 1 2 3 4
+ s 3
+ i 0
.text
- load $5 s($0)
- addi $10 $0 arr
- load $6 i($0)
+ load $5 s($0)
+ addi $10 $0 arr
+ load $6 i($0)
jrl CMP
L:
- add $9 $10 $6
+ add $9 $10 $6
load $7 0($9)
load $8 1($9)
add $7 $7 $8
diff --git a/input/dominative-functions.asm b/input/dominative-functions.asm
index 2ff242a..16cf094 100644
--- a/input/dominative-functions.asm
+++ b/input/dominative-functions.asm
@@ -3,62 +3,62 @@
;;; uses a stack-based paradigm with a base pointer to manage argument passing
.data
- answer 0
+ answer 0
.text
MAIN:
- addi $5 $2 0x0 ; establish frame pointer
+ addi $5 $2 0x0 ; establish frame pointer
- addi $6 $0 -11
+ addi $6 $0 -11
- push $6
- jal SUB23
- pop $6
- store $6 answer($0)
- nop
- nop
- nop
- quot $0 $0 $0
+ push $6
+ jal SUB23
+ pop $6
+ store $6 answer($0)
+ nop
+ nop
+ nop
+ quot $0 $0 $0
SUB23:
- push $5 ; push old frame pointer
- addi $5 $2 0x0
- subi $2 $2 0x1
+ push $5 ; push old frame pointer
+ addi $5 $2 0x0
+ subi $2 $2 0x1
- addi $6 $0 -23
- store $6 -1($5)
+ addi $6 $0 -23
+ store $6 -1($5)
- load $7 +1($5) ; access argument
- load $6 -1($5)
+ load $7 +1($5) ; access argument
+ load $6 -1($5)
- add $6 $6 $7
- push $1 ; save off our old ret
- push $6
- jal ADD76
- pop $6 ; retrieve and pass along
- pop $1 ; restore our old ret
- store $6 +1($5)
+ add $6 $6 $7
+ push $1 ; save off our old ret
+ push $6
+ jal ADD76
+ pop $6 ; retrieve and pass along
+ pop $1 ; restore our old ret
+ store $6 +1($5)
- addi $2 $5 0x0 ; restore stack pointer
- pop $5 ; restore frame pointer
- ret
+ addi $2 $5 0x0 ; restore stack pointer
+ pop $5 ; restore frame pointer
+ ret
ADD76:
- push $5
- addi $5 $2 0x0
- subi $2 $2 0x1
+ push $5
+ addi $5 $2 0x0
+ subi $2 $2 0x1
- addi $6 $0 +76
- store $6 -1($5)
+ addi $6 $0 +76
+ store $6 -1($5)
- load $7 +1($5) ; access argument
- load $6 -1($5)
+ load $7 +1($5) ; access argument
+ load $6 -1($5)
- add $6 $6 $7
- store $6 +1($5)
+ add $6 $6 $7
+ store $6 +1($5)
- addi $2 $5 0x0
- pop $5
- ret
- nop
- nop
- nop
- nop
+ addi $2 $5 0x0
+ pop $5
+ ret
+ nop
+ nop
+ nop
+ nop
diff --git a/input/easy-matrices.asm b/input/easy-matrices.asm
index 9cee909..6b8662a 100644
--- a/input/easy-matrices.asm
+++ b/input/easy-matrices.asm
@@ -8,76 +8,76 @@
;;; does not use designated vector instructions
.data
- m1 9 4 3 1 4 2 9 4 7 6 6 6
- m2 1 0 4 2 2 8 3 1 9 4 8 3 5 6 2
- n 3 ; # of columns of m1, rows of m2
- m 4 ; # of rows of m1
- p 5 ; # of columns of m2
- r 0 ; a matrix of size n,p
+ m1 9 4 3 1 4 2 9 4 7 6 6 6
+ m2 1 0 4 2 2 8 3 1 9 4 8 3 5 6 2
+ n 3 ; # of columns of m1, rows of m2
+ m 4 ; # of rows of m1
+ p 5 ; # of columns of m2
+ r 0 ; a matrix of size n,p
.text
- addi $5 $2 0x0 ; establish frame pointer
- jmp MAIN
+ addi $5 $2 0x0 ; establish frame pointer
+ jmp MAIN
MAIN:
- push $5 ; function preamble
- addi $5 $2 0x0
- subi $2 $2 0x0
+ push $5 ; function preamble
+ addi $5 $2 0x0
+ subi $2 $2 0x0
- addi $7 $0 0x0 ; tracks M
- jrl MCOND
+ addi $7 $0 0x0 ; tracks M
+ jrl MCOND
MITER:
- addi $8 $0 0x0 ; tracks P
- jrl PCOND
+ addi $8 $0 0x0 ; tracks P
+ jrl PCOND
PITER:
- addi $9 $0 0x0 ; tracks N
- addi $10 $0 0x0 ; tracks accumulated result
+ addi $9 $0 0x0 ; tracks N
+ addi $10 $0 0x0 ; tracks accumulated result
- load $6 n($0) ; index m1
- mul $11 $6 $7
- addi $11 $11 m1
+ load $6 n($0) ; index m1
+ mul $11 $6 $7
+ addi $11 $11 m1
- addi $12 $8 m2 ; index m2
+ addi $12 $8 m2 ; index m2
- jrl NCOND
+ jrl NCOND
NITER:
- add $13 $11 $9 ; increment m1
+ add $13 $11 $9 ; increment m1
- load $6 p($0)
- mul $14 $9 $6 ; increment m2
- add $14 $14 $12
+ load $6 p($0)
+ mul $14 $9 $6 ; increment m2
+ add $14 $14 $12
- load $6 0($13)
- load $15 0($14)
- mul $6 $6 $15
- add $10 $10 $6
+ load $6 0($13)
+ load $15 0($14)
+ mul $6 $6 $15
+ add $10 $10 $6
- addi $9 $9 0x1 ; increment element being added
+ addi $9 $9 0x1 ; increment element being added
NCOND:
- load $6 n($0)
- cmp $6 $9
- bgt NITER
+ load $6 n($0)
+ cmp $6 $9
+ bgt NITER
- load $6 p($0) ; store result
- mul $6 $6 $7
- add $6 $6 $8
- store $10 r($6)
+ load $6 p($0) ; store result
+ mul $6 $6 $7
+ add $6 $6 $8
+ store $10 r($6)
- addi $8 $8 0x1 ; increment columns in m2
+ addi $8 $8 0x1 ; increment columns in m2
PCOND:
- load $6 p($0)
- cmp $6 $8
- bgt PITER
+ load $6 p($0)
+ cmp $6 $8
+ bgt PITER
- addi $7 $7 0x1 ; increment rows in m1
+ addi $7 $7 0x1 ; increment rows in m1
MCOND:
- load $6 m($0)
- cmp $6 $7
- bgt MITER
- nop
- nop
- nop
- nop
- nop
- nop
+ load $6 m($0)
+ cmp $6 $7
+ bgt MITER
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/input/exchange-sort.asm b/input/exchange-sort.asm
index d894e97..7915424 100644
--- a/input/exchange-sort.asm
+++ b/input/exchange-sort.asm
@@ -2,12 +2,12 @@
;;; implements an in-place exchange sort on arr.
.data
- arr -1362730308 -872277507 -428207790 -941553397 -1598094038 1974624033 -1023445566 -2080082285 -923134851 -1566240461 -1015340602 -1840967109 -1320204443 -1255079578 -886379600 -1573834452 2039974821 1330348037 1608315931 -1295186270 131044420 -1433812756 -922234346 1598417089 735427708 635903155 1569604371 -562127942 -924744759 698462480 -1884861317 -563050478 -345537893 -1085501738 -435655749 -1124847962 2145012083 -1170900749 161470395 -2111474271 1503126015 196966013 -2062067967 1740464917 -269353906 -1897933998 1261942063 1059929304 1067855519 -250523970 241872895 1281389764 1852161461 -1560128834 1786124392 -637257380 -843034909 1150435871 2081601518 1542146259 1327726019 -1858807612 -140499217 -1137051775 -1068052074 -1678857264 -1071753505 199320895 -690155418 -287121940 -870957689 339456407 2002330132 21075212 -2016551521 15520446 -1134383159 -1780761451 1490972082 2115158665 -1078584313 297773402 561760825 738409507 655500270 -332947946 1366792327 112835948 -1273819073 1021096789 -1774784117 -947010402 2115283666 1717202093 1452135996 -54487080 1717651857 1522369941 -893887752 439187044 -406323467 -1273927863 -1329133016 -202298058 103069212 -1915503516 1252841801 728074832 1142337457 1334108268 -726745964 1441905653 1588542745 444296900 -2013981738 -1814505881 -469411089 -2130475878 108443485 729903658 1791457223 926764161 -129386873 1584131511 -1345425721 1688948848 -1699574300 651080752 -925568864 104040896 730061899 385751087 -755456646 -1693738409 204442842 1524821403 2037647773 1030060963 506136369 -571563033 348426459 581320901 -188232889 -1768171104 -1697729180 1715238 1514252729 743825527 -449657448 510478883 -1877844199 461474387 -1964433907 1889809122 -1675157910 1959882863 -2067802134 2051637044 -2100900259 2118136708 -600236722 136189407 1523070943 -1965302836 2110878765 1786328911 733175046 239948065 1152594322 1060992913 995611456 -298589267 1436761773 30569959 -715760388 98687682 -1343464390 -1681595823 -1050409673 -1818081506 1209228343 788014959 600262365 1097041129 1918996745 -151023184 429761410 1405733069 111990530 -1616782425 2079744796 1583595563 1051032661 1308306658 -1408566876 1249731067 -1622063679 -2029893039 -1722929645 1167107851 1889261879 -1572785381 -7391814 -78172020 -881887606 -910103844 -606016475 1138136825 -1874892885 -1835927850 1716661051 1100442090 -46152451 474684878 -847793729 -1753081840 165477382 -451325316 -492853177 -1474352226 -1648522737 1737879668 -2038487379 -233660944 -1939546861 -1750845390 178574641 -1526857389 1153291572 912019707 -992762823 -1056947826 -1294342273 -1180455072 -86503967 -1042241441 645842003 -11328727 -1332024322 1505009408 -1981585867 -619472311 146412895 1025960881 2093148272 1889679929 481800688 -1140929631 167278957 1776297035 -1397313988 1807631337 -336235580 -1973628694 1293639653 1529446773 -1847587086 -1610949391 -1644606709 -907527462 -743628618 529270662 1741437443 -1952098999 -1750240540 938846222 -834665869 -1368046301 224040467 1815385197 533500010 -536267157 1876776622 -1853275279 -71543747 810664644 -1789264715 1711706602 1936047920 -1429367902 1130196476 -179957335 613333150 -1149960419 956302520 1581237860 890276900 1188399414 333753266 248210421 332459606 -75050909 1097408976 -1259137452 2112290562 -657314840 563767443 331032662 -984535423 1140929189 846283349 323970621 -378317659 169025930 2093532898 1627630326 -747624330 -7410463 -1625085325 1452816434 852045011 -1333216692 1854830091 1461923345 426210607 1516266791 1318699158 1940219664 -1556159770 -655573511 -950528326 -840637295 -1603109235 1969543451 1593269452 -893203116 896667458 -1487471364 -1834420670 -1140959014 -1574875917 311037812 2071076127 -549236127 -436903364 -1002829447 -525785893 -834424824 -2017596693 1141790060 -1509251112 1183074275 1781215690 788801204 607572507 -1453121006 -392623629 587405476 -253971868 -31009803 391225684 -1799617321 -559349627 1219920638 254705470 -1954819038 1378535841 2072745444 325612157 -438561307 711611713 946755951 1540986741 247828908 -1362069852 1744310823 -128881800 1694816287 -2080983202 552088317 -1486684042 594856162 -152315027 1137451186 1856386339 1370411469 -326752521 271489903 -2075833719 1686247832 1641108834 -1291090669 1108557247 1675028092 -202746051 1334464014 -972360106 1070341653 -1872774591 2079357384 372404484 213640718 -1879543649 -214794970 944232427 -938285649 689788589 -1792238966 1821919351 -654271060 1862717399 -670653248 -1196164932 -1347322166 -1606798991 2071575624 1340347640 2084746766 -87384856 597770903 1053726827 -1057930655 1243115189 705074932 -907568688 545785490 624322701 -783788734 1894042169 1896969343 -1990144617 -1848687938 -530927554 1862455751 185500285 -1636203527 -379228991 792054617 -2029632336 1328212106 1030361884 -2123610883 -1190897350 1376001236 -1893066070 1790913847 -1453691950 -1232779594 -24352156 243106065 -395635710 168659855 93188709 -1389466954 564417586 1654830267 1353911285 1729604989 -1161244206 -1278888836 1669376941 42811658 458669139 -396258009 1224429504 884224969 -616317942 2109686352 721506797 -974536309 -767262154 -2054917408 1328176486 1034469095 -154001770 2095872925 -1651693507 -1558269942 -1795470686 1885578862 375342326 826670162 148525452 -1926386883 -1618870407 -263477780 -246800209 13999380 -1933456001 145678701 -2009684684 963722667 -1584839768 -410346509 522505873 -192695979 1421908367 -85849345 2132771702 -1278676573 -1746405443 1967220995 1571109807 511558372 -302770207 1329541601 1471450783 -1428226637 -1961974532 2095648123 1765173476 -2060976853 -1987441225 463763590 -1205792891 535752923 -159999436 -1097041462 1352060453 -1723451594 1575319249 752585619 1675929952 -1323250632 255616556 2078649523 -985873658 -241200362 -700576061 1731136551 -15226171 -2031522472 -1792733497 -850438762 -936938859 -1893900957 -1795141775 244967024 -685356731 -1047586984 -1633665492 -1651440102 35196544 -402398034 -19430462 -900399140 -1321238862 924691092 -1255324820 1236740122 -2130338936 -1107552561 -1566538632 -5540093 555345656 696940744 1937114922 -1926281392 1202038325 -897266030 -1072703886 1671211593 2020038018 -181090782 1125200315 -1526457511 -1571332166 -1635319906 -869032182 -2030523908 -286745820 1989055081 2093038421 1764053017 300340659 2014930705 208640730 1575823896 -1193154479 -1105884939 -1040981564 473864186 594903082 -322092777 -1391940298 372497083 -823937652 -1760344925 -1320056791 2017894431 -1630868643 714640651 2041748547 -872059074 -722081181 1848909188 -114252418 -1004517480 -1683237274 2144090053 605157490 -196683839 1115455688 1066259207 972993499 -53399305 -1992030611 -1538736557 -3769339 -690146824 1119060552 -1928548076 1251577776 2051552851 -176568761 -93284524 840791444 -1650845476 278276857 1805533361 -1936819703 83921672 -1763804193 1541188189 597924045 547229536 -779774850 -1235937192 -1688149960 1136750512 -1704440658 -951822116 -909802962 1961142856 -1995406370 -656070173 -1674016082 -291033385 375516481 1851477506 1563568205 -1115118281 -1662735945 1485162889 -1772245388 -1562219914 1964116999 471438291 1464979310 -1076369139 -126338275 1948255454 -1059893188 1606033534 -713413217 -806608675 644046057 -865933132 -595009187 1869803686 2196575 2065107807 1719549225 -522713864 -2065017443 -120815680 -107547671 122255160 -786279330 -1763942492 2131284443 -471572515 1960548118 1408376814 243995851 78303322 -1932383535 -897308055 -434915570 467829288 -661291397 -198618427 1189946498 1189732797 5246383 1594901750 -1370210710 -1393813870 -1475974348 1944355941 1530946214 80433189 -2048301407 -97390908 155533667 -1966555202 849320066 -1857608809 -573342503 223485123 256907380 1413100892 -2105499251 1339813186 -221611936 412937228 1882786073 -1561891366 384169555 1753672835 -1188447040 -909914355 1759676433 -584493505 -375676384 -1265318567 -510277282 -911569239 -86264954 344669096 -1060786190 -2093261971 2117274047 1412514404 -1792713760 1053022835 -2005130395 1675737775 1625891427 -519397838 2093806258 1167718281 -1958559556 373564603 1479980177 -947782290 482253789 -1026494785 1774671205 -72544500 -399770732 -1182448360 -742084510 840118588 1335261861 -1606744715 -788619625 1857936294 869148698 429950344 -1263055109 -835942701 450831961 -2103241460 1053405229 -1738550473 1835829081 -1039612940 1558391017 1193882917
- s 750 ; array size
+ arr -1362730308 -872277507 -428207790 -941553397 -1598094038 1974624033 -1023445566 -2080082285 -923134851 -1566240461 -1015340602 -1840967109 -1320204443 -1255079578 -886379600 -1573834452 2039974821 1330348037 1608315931 -1295186270 131044420 -1433812756 -922234346 1598417089 735427708 635903155 1569604371 -562127942 -924744759 698462480 -1884861317 -563050478 -345537893 -1085501738 -435655749 -1124847962 2145012083 -1170900749 161470395 -2111474271 1503126015 196966013 -2062067967 1740464917 -269353906 -1897933998 1261942063 1059929304 1067855519 -250523970 241872895 1281389764 1852161461 -1560128834 1786124392 -637257380 -843034909 1150435871 2081601518 1542146259 1327726019 -1858807612 -140499217 -1137051775 -1068052074 -1678857264 -1071753505 199320895 -690155418 -287121940 -870957689 339456407 2002330132 21075212 -2016551521 15520446 -1134383159 -1780761451 1490972082 2115158665 -1078584313 297773402 561760825 738409507 655500270 -332947946 1366792327 112835948 -1273819073 1021096789 -1774784117 -947010402 2115283666 1717202093 1452135996 -54487080 1717651857 1522369941 -893887752 439187044 -406323467 -1273927863 -1329133016 -202298058 103069212 -1915503516 1252841801 728074832 1142337457 1334108268 -726745964 1441905653 1588542745 444296900 -2013981738 -1814505881 -469411089 -2130475878 108443485 729903658 1791457223 926764161 -129386873 1584131511 -1345425721 1688948848 -1699574300 651080752 -925568864 104040896 730061899 385751087 -755456646 -1693738409 204442842 1524821403 2037647773 1030060963 506136369 -571563033 348426459 581320901 -188232889 -1768171104 -1697729180 1715238 1514252729 743825527 -449657448 510478883 -1877844199 461474387 -1964433907 1889809122 -1675157910 1959882863 -2067802134 2051637044 -2100900259 2118136708 -600236722 136189407 1523070943 -1965302836 2110878765 1786328911 733175046 239948065 1152594322 1060992913 995611456 -298589267 1436761773 30569959 -715760388 98687682 -1343464390 -1681595823 -1050409673 -1818081506 1209228343 788014959 600262365 1097041129 1918996745 -151023184 429761410 1405733069 111990530 -1616782425 2079744796 1583595563 1051032661 1308306658 -1408566876 1249731067 -1622063679 -2029893039 -1722929645 1167107851 1889261879 -1572785381 -7391814 -78172020 -881887606 -910103844 -606016475 1138136825 -1874892885 -1835927850 1716661051 1100442090 -46152451 474684878 -847793729 -1753081840 165477382 -451325316 -492853177 -1474352226 -1648522737 1737879668 -2038487379 -233660944 -1939546861 -1750845390 178574641 -1526857389 1153291572 912019707 -992762823 -1056947826 -1294342273 -1180455072 -86503967 -1042241441 645842003 -11328727 -1332024322 1505009408 -1981585867 -619472311 146412895 1025960881 2093148272 1889679929 481800688 -1140929631 167278957 1776297035 -1397313988 1807631337 -336235580 -1973628694 1293639653 1529446773 -1847587086 -1610949391 -1644606709 -907527462 -743628618 529270662 1741437443 -1952098999 -1750240540 938846222 -834665869 -1368046301 224040467 1815385197 533500010 -536267157 1876776622 -1853275279 -71543747 810664644 -1789264715 1711706602 1936047920 -1429367902 1130196476 -179957335 613333150 -1149960419 956302520 1581237860 890276900 1188399414 333753266 248210421 332459606 -75050909 1097408976 -1259137452 2112290562 -657314840 563767443 331032662 -984535423 1140929189 846283349 323970621 -378317659 169025930 2093532898 1627630326 -747624330 -7410463 -1625085325 1452816434 852045011 -1333216692 1854830091 1461923345 426210607 1516266791 1318699158 1940219664 -1556159770 -655573511 -950528326 -840637295 -1603109235 1969543451 1593269452 -893203116 896667458 -1487471364 -1834420670 -1140959014 -1574875917 311037812 2071076127 -549236127 -436903364 -1002829447 -525785893 -834424824 -2017596693 1141790060 -1509251112 1183074275 1781215690 788801204 607572507 -1453121006 -392623629 587405476 -253971868 -31009803 391225684 -1799617321 -559349627 1219920638 254705470 -1954819038 1378535841 2072745444 325612157 -438561307 711611713 946755951 1540986741 247828908 -1362069852 1744310823 -128881800 1694816287 -2080983202 552088317 -1486684042 594856162 -152315027 1137451186 1856386339 1370411469 -326752521 271489903 -2075833719 1686247832 1641108834 -1291090669 1108557247 1675028092 -202746051 1334464014 -972360106 1070341653 -1872774591 2079357384 372404484 213640718 -1879543649 -214794970 944232427 -938285649 689788589 -1792238966 1821919351 -654271060 1862717399 -670653248 -1196164932 -1347322166 -1606798991 2071575624 1340347640 2084746766 -87384856 597770903 1053726827 -1057930655 1243115189 705074932 -907568688 545785490 624322701 -783788734 1894042169 1896969343 -1990144617 -1848687938 -530927554 1862455751 185500285 -1636203527 -379228991 792054617 -2029632336 1328212106 1030361884 -2123610883 -1190897350 1376001236 -1893066070 1790913847 -1453691950 -1232779594 -24352156 243106065 -395635710 168659855 93188709 -1389466954 564417586 1654830267 1353911285 1729604989 -1161244206 -1278888836 1669376941 42811658 458669139 -396258009 1224429504 884224969 -616317942 2109686352 721506797 -974536309 -767262154 -2054917408 1328176486 1034469095 -154001770 2095872925 -1651693507 -1558269942 -1795470686 1885578862 375342326 826670162 148525452 -1926386883 -1618870407 -263477780 -246800209 13999380 -1933456001 145678701 -2009684684 963722667 -1584839768 -410346509 522505873 -192695979 1421908367 -85849345 2132771702 -1278676573 -1746405443 1967220995 1571109807 511558372 -302770207 1329541601 1471450783 -1428226637 -1961974532 2095648123 1765173476 -2060976853 -1987441225 463763590 -1205792891 535752923 -159999436 -1097041462 1352060453 -1723451594 1575319249 752585619 1675929952 -1323250632 255616556 2078649523 -985873658 -241200362 -700576061 1731136551 -15226171 -2031522472 -1792733497 -850438762 -936938859 -1893900957 -1795141775 244967024 -685356731 -1047586984 -1633665492 -1651440102 35196544 -402398034 -19430462 -900399140 -1321238862 924691092 -1255324820 1236740122 -2130338936 -1107552561 -1566538632 -5540093 555345656 696940744 1937114922 -1926281392 1202038325 -897266030 -1072703886 1671211593 2020038018 -181090782 1125200315 -1526457511 -1571332166 -1635319906 -869032182 -2030523908 -286745820 1989055081 2093038421 1764053017 300340659 2014930705 208640730 1575823896 -1193154479 -1105884939 -1040981564 473864186 594903082 -322092777 -1391940298 372497083 -823937652 -1760344925 -1320056791 2017894431 -1630868643 714640651 2041748547 -872059074 -722081181 1848909188 -114252418 -1004517480 -1683237274 2144090053 605157490 -196683839 1115455688 1066259207 972993499 -53399305 -1992030611 -1538736557 -3769339 -690146824 1119060552 -1928548076 1251577776 2051552851 -176568761 -93284524 840791444 -1650845476 278276857 1805533361 -1936819703 83921672 -1763804193 1541188189 597924045 547229536 -779774850 -1235937192 -1688149960 1136750512 -1704440658 -951822116 -909802962 1961142856 -1995406370 -656070173 -1674016082 -291033385 375516481 1851477506 1563568205 -1115118281 -1662735945 1485162889 -1772245388 -1562219914 1964116999 471438291 1464979310 -1076369139 -126338275 1948255454 -1059893188 1606033534 -713413217 -806608675 644046057 -865933132 -595009187 1869803686 2196575 2065107807 1719549225 -522713864 -2065017443 -120815680 -107547671 122255160 -786279330 -1763942492 2131284443 -471572515 1960548118 1408376814 243995851 78303322 -1932383535 -897308055 -434915570 467829288 -661291397 -198618427 1189946498 1189732797 5246383 1594901750 -1370210710 -1393813870 -1475974348 1944355941 1530946214 80433189 -2048301407 -97390908 155533667 -1966555202 849320066 -1857608809 -573342503 223485123 256907380 1413100892 -2105499251 1339813186 -221611936 412937228 1882786073 -1561891366 384169555 1753672835 -1188447040 -909914355 1759676433 -584493505 -375676384 -1265318567 -510277282 -911569239 -86264954 344669096 -1060786190 -2093261971 2117274047 1412514404 -1792713760 1053022835 -2005130395 1675737775 1625891427 -519397838 2093806258 1167718281 -1958559556 373564603 1479980177 -947782290 482253789 -1026494785 1774671205 -72544500 -399770732 -1182448360 -742084510 840118588 1335261861 -1606744715 -788619625 1857936294 869148698 429950344 -1263055109 -835942701 450831961 -2103241460 1053405229 -1738550473 1835829081 -1039612940 1558391017 1193882917
+ s 750 ; array size
.text
- addi $5 $2 0x0 ; establish frame pointer
- jmp MAIN
+ addi $5 $2 0x0 ; establish frame pointer
+ jmp MAIN
;;; accepts two arguments, corresponding to offsets into `arr'
@@ -15,64 +15,64 @@
;;; if the first index is greater than the second, swaps the two values
;;; in place.
SWAPPER:
- push $5 ;function preamble
- addi $5 $2 0x0
- subi $2 $2 0x0
+ push $5 ;function preamble
+ addi $5 $2 0x0
+ subi $2 $2 0x0
- load $7 +2($5) ; access args
- load $6 +1($5)
+ load $7 +2($5) ; access args
+ load $6 +1($5)
- load $8 arr($7) ; index array
- load $9 arr($6)
+ load $8 arr($7) ; index array
+ load $9 arr($6)
- cmp $9 $8
- bgt EXIT
+ cmp $9 $8
+ bgt EXIT
- store $9 arr($7) ; perform swap
- store $8 arr($6)
+ store $9 arr($7) ; perform swap
+ store $8 arr($6)
EXIT:
- addi $2 $5 0x0 ; function postamble
- pop $5
- ret
+ addi $2 $5 0x0 ; function postamble
+ pop $5
+ ret
MAIN:
- push $5 ; function preamble
- addi $5 $2 0x0
- subi $2 $2 0x4
+ push $5 ; function preamble
+ addi $5 $2 0x0
+ subi $2 $2 0x4
- load $6 s($0) ; inner loop termination condition
- subi $7 $6 0x1 ; outer loop termination condition
- addi $8 $0 0x0 ; outer loop iterator
- jrl OCON
+ load $6 s($0) ; inner loop termination condition
+ subi $7 $6 0x1 ; outer loop termination condition
+ addi $8 $0 0x0 ; outer loop iterator
+ jrl OCON
O:
- addi $9 $8 0x1 ; inner loop iterator
- jrl ICON
+ addi $9 $8 0x1 ; inner loop iterator
+ jrl ICON
I:
- store $9 -1($5) ; caller-saved registers
- store $8 -2($5)
- store $7 -3($5)
- store $6 -4($5)
+ store $9 -1($5) ; caller-saved registers
+ store $8 -2($5)
+ store $7 -3($5)
+ store $6 -4($5)
- push $8
- push $9 ; push args
- jal SWAPPER
- addi $2 $2 0x2 ; cleanup args
+ push $8
+ push $9 ; push args
+ jal SWAPPER
+ addi $2 $2 0x2 ; cleanup args
- load $9 -1($5) ; restore registers
- load $8 -2($5)
- load $7 -3($5)
- load $6 -4($5)
- addi $9 $9 0x1
+ load $9 -1($5) ; restore registers
+ load $8 -2($5)
+ load $7 -3($5)
+ load $6 -4($5)
+ addi $9 $9 0x1
ICON:
- cmp $6 $9
- bgt I
- addi $8 $8 0x1
+ cmp $6 $9
+ bgt I
+ addi $8 $8 0x1
OCON:
- cmp $7 $8
- bgt O
- nop
- nop
- nop
- nop
+ cmp $7 $8
+ bgt O
+ nop
+ nop
+ nop
+ nop
diff --git a/input/hard-matrices.asm b/input/hard-matrices.asm
index 1659574..494fa6c 100644
--- a/input/hard-matrices.asm
+++ b/input/hard-matrices.asm
@@ -126,76 +126,76 @@
.data
- m1 1 6 0 0 0 2 2 6 6 3 5 5 4 5 5 4 9 0 2 1 9 8 5 8 0 6 1 1 9 7 6 5 3 1 1 4 7 4 9 9 7 2 6 3 0 4 5 9 0 4 0 8 2 8 9 9 6 7 6 9 9 7 3 4 8 6 4 5 7 7 7 3 3 7 5 6 2 7 1 9 2 9 1 8 9 3 3 7 5 9 7 6 8 9 0 6 8 1 2 2 3 9 5 4 8 9 2 2 4 6 7 7 2 7 7 7 7 6 3 1 5 0 6 8 8 7 1 9 5 3 1 2 4 1 2 3 1 3 1 3 7 4 9 0 1 4 0 2 6 7 5 1 1 3 5 5 6 2 9 8 1 0 2 5 3 0 6 9 8 1 3 7 3 2 8 1 7 5 8 2 5 5 4 7 7 1 3 3 6 4 3 6 8 6 0 8 7 3 1 7 2 7 7 8 5 1 2 6 9 2 0 5 0 6 4 1 9 3 7 3 7 6 3 0 4 2 1 8 2 6 4 4 6 0 8 7 9 2 4 3 0 5 2 2 1 6 7 9 8 6 0 6 5 2 2 9 4 9 3 8 7 1 0 0 3 7 8 7 4 6 2 6 6 8 3 4 9 7 5 4 2 6 1 1 5 8 6 4 2 9 3 7 1 1 4 1 3 5 8 9 6 9 7 9 9 0 8 3 6 5 0 1 4 7 9 5 9 7 7 9 4 2 1 2 4 6 3 0 2 0 1 2 6 2 7 1 5 1 0 2 8 6 1 0 5 7 7 0 7 4 7 9 8 3 3 2 3 5 6 8 5 2 6 0 8 6 4 0 5 5 4 0 3 1 7 7 4 4 7 0 1 0 1 2 5 3 2 5 6 9 4 9 5 1 9 4 2 6 5 5 6 1 2 1 9 2 5 3 4 9 2 7 7 0 9 0 9 2 8 4 0 8 6 5 0 0 8 6 5 6 0 0 6 6 9 0 6 7 1 8 9 6 0 7 4 8 1 1 2 8 8 2 0 4 6 5 2 9 9 1 8 0 0 3 7 3 3 4 5 8 9 9 6 9 0 7 3 2 3 1 3 5 1 9 8 7 5 8 8 8 9 3 9 6 4 2 7 6 9 3 7 6 2 6 8 4 7 7 3 8 7 5 5 4 8 2 0 9 7 4 2 0 3 0 4 4 3 6 6 0 0 4 3 5 1 6 7 1 1 7 7 9 5 9 7 6 0 2 6 6 3 5 1 7 1 3 9 1 5 1 0 1 6 8 8 0 2 2 4 7 3 6 4 6 5 3 7 5 0 0 4 0 4 3 2 6 9 2 7 1 7 0 7 5 5 6 3 0 7 9 3 1 1 1 6 3 7 6 5 0 1 0 4 5 3 8 4 4 3 3 8 5 1 2 1 8 1 5 5 7 8 8 1 0 9 2 2 1 9 6 8 9 6 0 1 7 4 8 8 7 6 6 3 5 2 0 6 3 2 9 8 3 4 3 6 1 1 9 3 8 3 0 2 4 9 9 9 5 6 6 5 3 6 4 6 3 4 2 2 9 9 0 1 9 3 6 8 5 1 9 0 6 5 4 0 8 6 2 4 9 7 9 1 1 5 2 2 5 7 8 6 5 7 8 1 0 3 8 4 9 8 1 2 0 5 8 7 9 1 2 4 8 4 3 4 3 4 7 8 5 0 1 5 8 3 7 4 6 2 6 4 6 7 0 9 9 6 3 4 6 5 9 6 3 7 1 3 8 3 8 8 1 5 6 9 4 3 3 9 7 7 2 9 3 1 5 5 3 5 9 9 5 7 8 0 7 3 7 5 8 1 6 4 6 0 2 4 6 3 2 8 3 5 4 4 3 5 9 9 6 0 3 2 4 6 7 8 8 3 4 5 6 3 3 7 4 3 2 4 3 0 9 1 6 4 1 9 1 2 9 0 4 1 0 6 9 8 1 8 3 4 2 1 8 0 7 2 2 9 6 9 3 7 0 1 3 8 0 3 9 2 9 6 8 5 3 5 9 4 2 6 3 4 9 8 7 1 0 4 1 6 7 0 9 9 9 1 8 3 2 6 6 2 3 6 1 7 7 0 1 8 0 3 4 8 0 7 5 3 4 8 9 8 0 4 8 0 2 4 4 3 9 2 0 5 5 3 3 5 7 3 6 0 3 6 8 2 5 7 6 2 0 4 9 0 8 2 6 2 4 6 9 0 4 3 4 8 6 4 4 3 9 2 9 8 6 6 9 7 7 7 6 7 9 4 0 1 4 3 0 4 5 6 4 4 1 9 3 7 8 1 6 5 9 8 1 1 8 2 8 2 3 8 3 9 5 7 3 0 8 3 3 8 2 2 2 0 8 7 6 4 9 5 2 6 7 8 0 8 2 9 5 1 6 9 8 0 8 7 1 1 6 0 5 5 0 4 6 6 7 7 0 4 7 6 1 7 6 4 2 6 7 1 5 5 0 6 2 5 3 4 5 6 1 8 7 6 7 3 7 0 1 3 8 9 6 2 5 1 8 5 7 7 5 0 9 3 4 7 0 4 9 6 6 9 0 7 5 1 7 0 3 0 6 6 7 3 3 9 6 9 0 6 3 6 9 5 7 3 7 6 9 1 2 9 5 6 3 0 0 6 1 8 8 9 2 6 2 6 6 3 0 4 2 4 7 5 1 4 9 1 2 0 4 4 1 9 1 4 2 0 5 2 3 5 8 2 4 3 2 6 5 6 0 3 3 9 8 4 6 5 1 4 6 5 0 5 7 8 8 1 7 6 9 8 9 9 6 9 4 4 0 3 4 0 3 4 9 7 4 5 8 2 7 2 0 1 2 1 2 8 9 6 5 6 6 1 2 8 6 4 8 1 0 5 7 0 0 3 2 4 8 4 5 8 0 0 2 0 4 1 4 7 1 4 7 4 0 0 2 3 2 7 5 7 3 7 9 0 6 6 5 9 4 2 0 8 5 4 1 9 1 1 5 8 9 3 2 1 3 8 6 1 4 9 5 8 5 2 8 7 8 4 4 2 9 9 7 9 9 7 7 0 9 2 8 2 5 0 2 5 3 8 9 2 8 1 4 6 2 7 1 1 4 2 7 0 8 1 6 0 8 3 5 2 4 9 9 5 2 6 5 3 9 3 4 5 3 0 8 1 9 6 9 4 7 0 3 5 6 0 5 0 7 4 3 2 5 0 3 2 5 2 0 4 8 4 2 8 4 9 7 1 4 5 6 5 7 4 5 2 8 7 2 7 3 0 9 9 8 2 0 9 1 2 2 4 4 6 8 2 9 2 1 4 4 0 8 3 1 0 3 5 2 2 2 4 9 9 8 9 8 4 3 1 3 6 0 0 7 8 6 2 3 4 9 3 3 9 5 8 8 0 4 1 0 9 3 1 5 7 2 4 3 7 6 8 1 9 3 3 6 4 6 0 3 5 4 3 4 7 1 2 2 0 5 3 1 2 4 9 6 1 0 6 8 4 9 7 7 1 2 4 3 2 0 5 1 8 4 5 3 6 8 8 9 4 1 9 7 2 0 8 1 1 1 2 3 9 2 7 6 0 4 9 4 8 5 5 9 1 7 0 8 2 3 1 3 0 5 3 2 9 3 2 0 3 3 2 8 2 1 8 3 2 5 0 0 9 4 4 3 0 0 6 1 0 9 2 8 2 8 5 2 8 4 6 8 2 4 6 1 0 0 5 9 2 1 5 3 9 1 5 3 8 0 1 7 4 6 0 5 7 4 8 1 2 0 4 2 4 8 8 0 1 7 6 2 5 7 7 9 8 8 8 1 1 7 1 0 3 8 7 7 1 6 2 0 4 2 2 8 8 2 5 5 8 1 8 0 4 4 6 2 0 8 4 4 0 7 0 1 5 8 5 0 0 0 4 7 4 7 8 6 5 7 1 7 9 7 4 3 1 1 1 2 2 3 0 4 2 9 0 2 2 8 8 9 8 1 6 5 5 4 3 4 8 8 1 6 1 9 5 8 3 8 3 8 9 8 5 4 8 7 5 3 7 4 0 4 0 7 6 3 5 5 5 2 6 9
- m2 7 3 2 6 5 3 5 6 1 5 1 4 8 8 9 3 2 0 4 3 7 2 0 2 1 6 8 3 2 8 4 7 1 9 8 9 5 8 7 7 5 8 9 4 1 1 4 5 6 5 3 5 0 0 9 0 7 8 5 7 4 4 6 4 9 1 5 0 0 1 2 1 8 4 6 7 6 9 1 9 5 1 3 8 8 9 3 5 1 8 7 3 0 0 6 2 5 7 7 9 0 6 9 3 5 9 5 6 8 6 2 9 3 1 0 7 8 5 1 7 9 7 7 4 3 3 2 6 4 5 4 0 5 5 2 1 9 3 7 5 7 7 8 6 7 2 1 7 9 0 0 7 5 2 3 2 5 5 9 8 5 3 1 5 9 6 3 2 9 2 8 9 8 9 4 4 7 7 0 2 7 7 9 6 1 7 3 1 3 8 6 8 2 6 8 4 7 3 7 4 6 3 0 7 8 8 9 7 6 4 7 8 2 9 5 7 5 5 9 2 6 7 7 8 7 7 8 2 6 7 3 8 8 0 8 0 5 1 9 0 1 4 4 3 7 3 5 7 3 3 7 1 4 0 7 5 5 7 6 2 8 4 6 9 2 6 5 8 0 5 6 6 4 1 9 2 1 4 9 4 8 2 4 0 7 8 5 3 1 3 7 7 0 4 2 6 9 7 3 6 3 3 4 3 9 8 6 8 9 1 4 9 3 5 6 1 9 4 5 7 6 0 6 1 5 4 2 5 6 4 2 1 8 1 4 0 4 1 9 6 4 2 5 7 3 7 5 5 4 5 8 3 4 8 6 6 3 6 1 4 9 2 5 8 3 6 1 7 9 4 7 7 3 8 9 0 0 1 5 4 5 8 1 9 3 3 8 7 4 3 2 1 4 4 7 0 8 7 9 0 7 2 9 1 6 6 7 0 6 9 7 7 8 5 9 2 8 4 6 7 7 8 9 9 6 5 4 9 3 3 1 0 5 8 0 4 2 6 7 1 3 2 4 2 9 3 4 3 9 8 7 5 6 0 9 1 1 6 3 4 3 2 3 9 9 6 6 0 5 0 6 2 8 5 0 1 3 2 0 9 5 2 2 3 3 7 6 3 5 6 7 4 2 0 6 8 5 4 0 5 6 4 7 6 1 7 6 5 1 9 7 7 3 5 6 7 9 2 0 5 2 0 5 8 0 2 4 7 0 9 0 3 1 3 5 5 1 7 8 3 1 6 9 2 4 4 6 6 7 7 4 4 4 5 8 6 0 3 8 4 9 0 3 5 2 3 1 4 5 8 1 2 9 2 6 8 4 1 4 8 4 9 4 1 4 2 7 6 1 2 5 7 1 4 7 1 9 1 3 6 8 5 5 7 6 7 1 0 6 7 0 1 4 6 9 1 1 9 7 7 9 9 7 2 2 7 2 4 0 1 3 9 1 6 9 9 1 1 7 9 8 5 1 3 9 4 2 5
- n 18 ; # of columns of m1, rows of m2
- m 100 ; # of rows of m1
- p 36 ; # of columns of m2
- r 0 ; a matrix of size n,p
+ m1 1 6 0 0 0 2 2 6 6 3 5 5 4 5 5 4 9 0 2 1 9 8 5 8 0 6 1 1 9 7 6 5 3 1 1 4 7 4 9 9 7 2 6 3 0 4 5 9 0 4 0 8 2 8 9 9 6 7 6 9 9 7 3 4 8 6 4 5 7 7 7 3 3 7 5 6 2 7 1 9 2 9 1 8 9 3 3 7 5 9 7 6 8 9 0 6 8 1 2 2 3 9 5 4 8 9 2 2 4 6 7 7 2 7 7 7 7 6 3 1 5 0 6 8 8 7 1 9 5 3 1 2 4 1 2 3 1 3 1 3 7 4 9 0 1 4 0 2 6 7 5 1 1 3 5 5 6 2 9 8 1 0 2 5 3 0 6 9 8 1 3 7 3 2 8 1 7 5 8 2 5 5 4 7 7 1 3 3 6 4 3 6 8 6 0 8 7 3 1 7 2 7 7 8 5 1 2 6 9 2 0 5 0 6 4 1 9 3 7 3 7 6 3 0 4 2 1 8 2 6 4 4 6 0 8 7 9 2 4 3 0 5 2 2 1 6 7 9 8 6 0 6 5 2 2 9 4 9 3 8 7 1 0 0 3 7 8 7 4 6 2 6 6 8 3 4 9 7 5 4 2 6 1 1 5 8 6 4 2 9 3 7 1 1 4 1 3 5 8 9 6 9 7 9 9 0 8 3 6 5 0 1 4 7 9 5 9 7 7 9 4 2 1 2 4 6 3 0 2 0 1 2 6 2 7 1 5 1 0 2 8 6 1 0 5 7 7 0 7 4 7 9 8 3 3 2 3 5 6 8 5 2 6 0 8 6 4 0 5 5 4 0 3 1 7 7 4 4 7 0 1 0 1 2 5 3 2 5 6 9 4 9 5 1 9 4 2 6 5 5 6 1 2 1 9 2 5 3 4 9 2 7 7 0 9 0 9 2 8 4 0 8 6 5 0 0 8 6 5 6 0 0 6 6 9 0 6 7 1 8 9 6 0 7 4 8 1 1 2 8 8 2 0 4 6 5 2 9 9 1 8 0 0 3 7 3 3 4 5 8 9 9 6 9 0 7 3 2 3 1 3 5 1 9 8 7 5 8 8 8 9 3 9 6 4 2 7 6 9 3 7 6 2 6 8 4 7 7 3 8 7 5 5 4 8 2 0 9 7 4 2 0 3 0 4 4 3 6 6 0 0 4 3 5 1 6 7 1 1 7 7 9 5 9 7 6 0 2 6 6 3 5 1 7 1 3 9 1 5 1 0 1 6 8 8 0 2 2 4 7 3 6 4 6 5 3 7 5 0 0 4 0 4 3 2 6 9 2 7 1 7 0 7 5 5 6 3 0 7 9 3 1 1 1 6 3 7 6 5 0 1 0 4 5 3 8 4 4 3 3 8 5 1 2 1 8 1 5 5 7 8 8 1 0 9 2 2 1 9 6 8 9 6 0 1 7 4 8 8 7 6 6 3 5 2 0 6 3 2 9 8 3 4 3 6 1 1 9 3 8 3 0 2 4 9 9 9 5 6 6 5 3 6 4 6 3 4 2 2 9 9 0 1 9 3 6 8 5 1 9 0 6 5 4 0 8 6 2 4 9 7 9 1 1 5 2 2 5 7 8 6 5 7 8 1 0 3 8 4 9 8 1 2 0 5 8 7 9 1 2 4 8 4 3 4 3 4 7 8 5 0 1 5 8 3 7 4 6 2 6 4 6 7 0 9 9 6 3 4 6 5 9 6 3 7 1 3 8 3 8 8 1 5 6 9 4 3 3 9 7 7 2 9 3 1 5 5 3 5 9 9 5 7 8 0 7 3 7 5 8 1 6 4 6 0 2 4 6 3 2 8 3 5 4 4 3 5 9 9 6 0 3 2 4 6 7 8 8 3 4 5 6 3 3 7 4 3 2 4 3 0 9 1 6 4 1 9 1 2 9 0 4 1 0 6 9 8 1 8 3 4 2 1 8 0 7 2 2 9 6 9 3 7 0 1 3 8 0 3 9 2 9 6 8 5 3 5 9 4 2 6 3 4 9 8 7 1 0 4 1 6 7 0 9 9 9 1 8 3 2 6 6 2 3 6 1 7 7 0 1 8 0 3 4 8 0 7 5 3 4 8 9 8 0 4 8 0 2 4 4 3 9 2 0 5 5 3 3 5 7 3 6 0 3 6 8 2 5 7 6 2 0 4 9 0 8 2 6 2 4 6 9 0 4 3 4 8 6 4 4 3 9 2 9 8 6 6 9 7 7 7 6 7 9 4 0 1 4 3 0 4 5 6 4 4 1 9 3 7 8 1 6 5 9 8 1 1 8 2 8 2 3 8 3 9 5 7 3 0 8 3 3 8 2 2 2 0 8 7 6 4 9 5 2 6 7 8 0 8 2 9 5 1 6 9 8 0 8 7 1 1 6 0 5 5 0 4 6 6 7 7 0 4 7 6 1 7 6 4 2 6 7 1 5 5 0 6 2 5 3 4 5 6 1 8 7 6 7 3 7 0 1 3 8 9 6 2 5 1 8 5 7 7 5 0 9 3 4 7 0 4 9 6 6 9 0 7 5 1 7 0 3 0 6 6 7 3 3 9 6 9 0 6 3 6 9 5 7 3 7 6 9 1 2 9 5 6 3 0 0 6 1 8 8 9 2 6 2 6 6 3 0 4 2 4 7 5 1 4 9 1 2 0 4 4 1 9 1 4 2 0 5 2 3 5 8 2 4 3 2 6 5 6 0 3 3 9 8 4 6 5 1 4 6 5 0 5 7 8 8 1 7 6 9 8 9 9 6 9 4 4 0 3 4 0 3 4 9 7 4 5 8 2 7 2 0 1 2 1 2 8 9 6 5 6 6 1 2 8 6 4 8 1 0 5 7 0 0 3 2 4 8 4 5 8 0 0 2 0 4 1 4 7 1 4 7 4 0 0 2 3 2 7 5 7 3 7 9 0 6 6 5 9 4 2 0 8 5 4 1 9 1 1 5 8 9 3 2 1 3 8 6 1 4 9 5 8 5 2 8 7 8 4 4 2 9 9 7 9 9 7 7 0 9 2 8 2 5 0 2 5 3 8 9 2 8 1 4 6 2 7 1 1 4 2 7 0 8 1 6 0 8 3 5 2 4 9 9 5 2 6 5 3 9 3 4 5 3 0 8 1 9 6 9 4 7 0 3 5 6 0 5 0 7 4 3 2 5 0 3 2 5 2 0 4 8 4 2 8 4 9 7 1 4 5 6 5 7 4 5 2 8 7 2 7 3 0 9 9 8 2 0 9 1 2 2 4 4 6 8 2 9 2 1 4 4 0 8 3 1 0 3 5 2 2 2 4 9 9 8 9 8 4 3 1 3 6 0 0 7 8 6 2 3 4 9 3 3 9 5 8 8 0 4 1 0 9 3 1 5 7 2 4 3 7 6 8 1 9 3 3 6 4 6 0 3 5 4 3 4 7 1 2 2 0 5 3 1 2 4 9 6 1 0 6 8 4 9 7 7 1 2 4 3 2 0 5 1 8 4 5 3 6 8 8 9 4 1 9 7 2 0 8 1 1 1 2 3 9 2 7 6 0 4 9 4 8 5 5 9 1 7 0 8 2 3 1 3 0 5 3 2 9 3 2 0 3 3 2 8 2 1 8 3 2 5 0 0 9 4 4 3 0 0 6 1 0 9 2 8 2 8 5 2 8 4 6 8 2 4 6 1 0 0 5 9 2 1 5 3 9 1 5 3 8 0 1 7 4 6 0 5 7 4 8 1 2 0 4 2 4 8 8 0 1 7 6 2 5 7 7 9 8 8 8 1 1 7 1 0 3 8 7 7 1 6 2 0 4 2 2 8 8 2 5 5 8 1 8 0 4 4 6 2 0 8 4 4 0 7 0 1 5 8 5 0 0 0 4 7 4 7 8 6 5 7 1 7 9 7 4 3 1 1 1 2 2 3 0 4 2 9 0 2 2 8 8 9 8 1 6 5 5 4 3 4 8 8 1 6 1 9 5 8 3 8 3 8 9 8 5 4 8 7 5 3 7 4 0 4 0 7 6 3 5 5 5 2 6 9
+ m2 7 3 2 6 5 3 5 6 1 5 1 4 8 8 9 3 2 0 4 3 7 2 0 2 1 6 8 3 2 8 4 7 1 9 8 9 5 8 7 7 5 8 9 4 1 1 4 5 6 5 3 5 0 0 9 0 7 8 5 7 4 4 6 4 9 1 5 0 0 1 2 1 8 4 6 7 6 9 1 9 5 1 3 8 8 9 3 5 1 8 7 3 0 0 6 2 5 7 7 9 0 6 9 3 5 9 5 6 8 6 2 9 3 1 0 7 8 5 1 7 9 7 7 4 3 3 2 6 4 5 4 0 5 5 2 1 9 3 7 5 7 7 8 6 7 2 1 7 9 0 0 7 5 2 3 2 5 5 9 8 5 3 1 5 9 6 3 2 9 2 8 9 8 9 4 4 7 7 0 2 7 7 9 6 1 7 3 1 3 8 6 8 2 6 8 4 7 3 7 4 6 3 0 7 8 8 9 7 6 4 7 8 2 9 5 7 5 5 9 2 6 7 7 8 7 7 8 2 6 7 3 8 8 0 8 0 5 1 9 0 1 4 4 3 7 3 5 7 3 3 7 1 4 0 7 5 5 7 6 2 8 4 6 9 2 6 5 8 0 5 6 6 4 1 9 2 1 4 9 4 8 2 4 0 7 8 5 3 1 3 7 7 0 4 2 6 9 7 3 6 3 3 4 3 9 8 6 8 9 1 4 9 3 5 6 1 9 4 5 7 6 0 6 1 5 4 2 5 6 4 2 1 8 1 4 0 4 1 9 6 4 2 5 7 3 7 5 5 4 5 8 3 4 8 6 6 3 6 1 4 9 2 5 8 3 6 1 7 9 4 7 7 3 8 9 0 0 1 5 4 5 8 1 9 3 3 8 7 4 3 2 1 4 4 7 0 8 7 9 0 7 2 9 1 6 6 7 0 6 9 7 7 8 5 9 2 8 4 6 7 7 8 9 9 6 5 4 9 3 3 1 0 5 8 0 4 2 6 7 1 3 2 4 2 9 3 4 3 9 8 7 5 6 0 9 1 1 6 3 4 3 2 3 9 9 6 6 0 5 0 6 2 8 5 0 1 3 2 0 9 5 2 2 3 3 7 6 3 5 6 7 4 2 0 6 8 5 4 0 5 6 4 7 6 1 7 6 5 1 9 7 7 3 5 6 7 9 2 0 5 2 0 5 8 0 2 4 7 0 9 0 3 1 3 5 5 1 7 8 3 1 6 9 2 4 4 6 6 7 7 4 4 4 5 8 6 0 3 8 4 9 0 3 5 2 3 1 4 5 8 1 2 9 2 6 8 4 1 4 8 4 9 4 1 4 2 7 6 1 2 5 7 1 4 7 1 9 1 3 6 8 5 5 7 6 7 1 0 6 7 0 1 4 6 9 1 1 9 7 7 9 9 7 2 2 7 2 4 0 1 3 9 1 6 9 9 1 1 7 9 8 5 1 3 9 4 2 5
+ n 18 ; # of columns of m1, rows of m2
+ m 100 ; # of rows of m1
+ p 36 ; # of columns of m2
+ r 0 ; a matrix of size n,p
.text
- addi $5 $2 0x0 ; establish frame pointer
- jmp MAIN
+ addi $5 $2 0x0 ; establish frame pointer
+ jmp MAIN
MAIN:
- push $5 ; function preamble
- addi $5 $2 0x0
- subi $2 $2 0x0
+ push $5 ; function preamble
+ addi $5 $2 0x0
+ subi $2 $2 0x0
- addi $7 $0 0x0 ; tracks M
- jrl MCOND
+ addi $7 $0 0x0 ; tracks M
+ jrl MCOND
MITER:
- addi $8 $0 0x0 ; tracks P
- jrl PCOND
+ addi $8 $0 0x0 ; tracks P
+ jrl PCOND
PITER:
- addi $9 $0 0x0 ; tracks N
- addi $10 $0 0x0 ; tracks accumulated result
+ addi $9 $0 0x0 ; tracks N
+ addi $10 $0 0x0 ; tracks accumulated result
- load $6 n($0) ; index m1
- mul $11 $6 $7
- addi $11 $11 m1
+ load $6 n($0) ; index m1
+ mul $11 $6 $7
+ addi $11 $11 m1
- addi $12 $8 m2 ; index m2
+ addi $12 $8 m2 ; index m2
- jrl NCOND
+ jrl NCOND
NITER:
- add $13 $11 $9 ; increment m1
+ add $13 $11 $9 ; increment m1
- load $6 p($0)
- mul $14 $9 $6 ; increment m2
- add $14 $14 $12
+ load $6 p($0)
+ mul $14 $9 $6 ; increment m2
+ add $14 $14 $12
- load $6 0($13)
- load $15 0($14)
- mul $6 $6 $15
- add $10 $10 $6
+ load $6 0($13)
+ load $15 0($14)
+ mul $6 $6 $15
+ add $10 $10 $6
- addi $9 $9 0x1 ; increment element being added
+ addi $9 $9 0x1 ; increment element being added
NCOND:
- load $6 n($0)
- cmp $6 $9
- bgt NITER
+ load $6 n($0)
+ cmp $6 $9
+ bgt NITER
- load $6 p($0) ; store result
- mul $6 $6 $7
- add $6 $6 $8
- store $10 r($6)
+ load $6 p($0) ; store result
+ mul $6 $6 $7
+ add $6 $6 $8
+ store $10 r($6)
- addi $8 $8 0x1 ; increment columns in m2
+ addi $8 $8 0x1 ; increment columns in m2
PCOND:
- load $6 p($0)
- cmp $6 $8
- bgt PITER
+ load $6 p($0)
+ cmp $6 $8
+ bgt PITER
- addi $7 $7 0x1 ; increment rows in m1
+ addi $7 $7 0x1 ; increment rows in m1
MCOND:
- load $6 m($0)
- cmp $6 $7
- bgt MITER
- nop
- nop
- nop
- nop
- nop
- nop
+ load $6 m($0)
+ cmp $6 $7
+ bgt MITER
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/input/identity.asm b/input/identity.asm
index bb6af17..13918d2 100644
--- a/input/identity.asm
+++ b/input/identity.asm
@@ -7,64 +7,64 @@
;;; does not use designated vector instructions
.data
- m1 01 00 -1 00 00 01 00 -1 00 00 01 00 00 00 00 01
- m2 01 00 01 00 00 01 00 01 00 00 01 00 00 00 00 01
- r 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ m1 01 00 -1 00 00 01 00 -1 00 00 01 00 00 00 00 01
+ m2 01 00 01 00 00 01 00 01 00 00 01 00 00 00 00 01
+ r 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
.text
- addi $8 $0 0x4 ; dimensions
- addi $9 $0 0x0 ; tracks the rows
- jrl ROWCOND
+ addi $8 $0 0x4 ; dimensions
+ addi $9 $0 0x0 ; tracks the rows
+ jrl ROWCOND
ROW:
- addi $10 $0 0x0 ; tracks the columns
- jrl COLCOND
+ addi $10 $0 0x0 ; tracks the columns
+ jrl COLCOND
COL:
- addi $11 $0 0x0 ; tracks the element being added
- addi $12 $0 0x0 ; the accumulated result to place into $9,$10
+ addi $11 $0 0x0 ; tracks the element being added
+ addi $12 $0 0x0 ; the accumulated result to place into $9,$10
- mul $7 $9 $8 ; setup the index into m1
- addi $5 $7 m1
+ mul $7 $9 $8 ; setup the index into m1
+ addi $5 $7 m1
- addi $6 $0 m2 ; setup the index into m2
- add $6 $6 $10
+ addi $6 $0 m2 ; setup the index into m2
+ add $6 $6 $10
- addi $15 $5 0 ; setup a base address into both
- addi $7 $6 0
+ addi $15 $5 0 ; setup a base address into both
+ addi $7 $6 0
- jrl ELECOND
+ jrl ELECOND
ELE:
- add $5 $15 $11 ; increment m1
+ add $5 $15 $11 ; increment m1
- mul $13 $11 $8 ; increment m2
- add $6 $7 $13
+ mul $13 $11 $8 ; increment m2
+ add $6 $7 $13
- load $13 0($5) ; retrieve and accumulate
- load $14 0($6)
- mul $13 $14 $13
- add $12 $12 $13
+ load $13 0($5) ; retrieve and accumulate
+ load $14 0($6)
+ mul $13 $14 $13
+ add $12 $12 $13
- addi $11 $11 0x1
+ addi $11 $11 0x1
ELECOND:
- cmp $8 $11
- bgt ELE
+ cmp $8 $11
+ bgt ELE
- mul $7 $9 $8
- add $7 $7 $10
- addi $7 $7 r
+ mul $7 $9 $8
+ add $7 $7 $10
+ addi $7 $7 r
- store $12 0($7)
+ store $12 0($7)
- addi $10 $10 0x1
+ addi $10 $10 0x1
COLCOND:
- cmp $8 $10
- bgt COL
+ cmp $8 $10
+ bgt COL
- addi $9 $9 0x1
+ addi $9 $9 0x1
ROWCOND:
- cmp $8 $9
- bgt ROW
- nop
- nop
- nop
- nop
- nop
+ cmp $8 $9
+ bgt ROW
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/input/infinity.asm b/input/infinity.asm
index 16b7fd7..18ee2fe 100644
--- a/input/infinity.asm
+++ b/input/infinity.asm
@@ -3,11 +3,11 @@
.data
.text
- addi $5 $0 0x0
+ addi $5 $0 0x0
LOOP:
- addi $5 $5 0x1
- subi $5 $5 0x0
- jrl LOOP
- nop
- nop
- nop
+ addi $5 $5 0x1
+ subi $5 $5 0x0
+ jrl LOOP
+ nop
+ nop
+ nop
diff --git a/input/matrix-vector.asm b/input/matrix-vector.asm
index 7b91a6a..8c0b372 100644
--- a/input/matrix-vector.asm
+++ b/input/matrix-vector.asm
@@ -8,91 +8,91 @@
;;; does not use designated vector instructions
.data
- m1 9 4 3 1 4 2 9 4 7 6 6 6
- m2 1 0 4 2 2 8 3 1 9 4 8 3 5 6 2
- n 3 ; # of columns of m1, rows of m2
- m 4 ; # of rows of m1
- p 5 ; # of columns of m2
- r 0 ; a matrix of size n,p
+ m1 9 4 3 1 4 2 9 4 7 6 6 6
+ m2 1 0 4 2 2 8 3 1 9 4 8 3 5 6 2
+ n 3 ; # of columns of m1, rows of m2
+ m 4 ; # of rows of m1
+ p 5 ; # of columns of m2
+ r 0 ; a matrix of size n,p
.text
- addi $5 $2 0x0 ; establish frame pointer
- jmp MAIN
+ addi $5 $2 0x0 ; establish frame pointer
+ jmp MAIN
MAIN:
- push $5 ; function preamble
- addi $5 $2 0x0
- subi $2 $2 0x0
+ push $5 ; function preamble
+ addi $5 $2 0x0
+ subi $2 $2 0x0
;;;
;;; setup vector stuff, rotate num, column stride
- load $4 n($0)
- addi $14 $4 0x0
- load $6 p($0)
- load $7 m($0)
- addi $15 $0 0x1
- addi $8 $0 0x0
- jrl STRCOND
+ load $4 n($0)
+ addi $14 $4 0x0
+ load $6 p($0)
+ load $7 m($0)
+ addi $15 $0 0x1
+ addi $8 $0 0x0
+ jrl STRCOND
STR:
- addv $17 $17 $16 ; set column stride
- addi $8 $8 0x1
+ addv $17 $17 $16 ; set column stride
+ addi $8 $8 0x1
STRCOND:
- cmp $6 $8
- bgt STR
+ cmp $6 $8
+ bgt STR
;;; end vector setup
;;;
- addi $8 $0 0x0 ; tracks M
- jrl MCOND
+ addi $8 $0 0x0 ; tracks M
+ jrl MCOND
MITER:
- load $4 n($0) ; set vector length to n
- addi $9 $0 0x0 ; tracks P
- jrl PCOND
+ load $4 n($0) ; set vector length to n
+ addi $9 $0 0x0 ; tracks P
+ jrl PCOND
PITER:
- mul $10 $4 $8 ; index m1
- addi $10 $10 m1
+ mul $10 $4 $8 ; index m1
+ addi $10 $10 m1
- addi $11 $9 m2 ; index m2
+ addi $11 $9 m2 ; index m2
- srdl $18 $10 $16 ; load row
- srdl $19 $11 $17 ; load column
+ srdl $18 $10 $16 ; load row
+ srdl $19 $11 $17 ; load column
- mulv $18 $18 $19 ; mul elements
+ mulv $18 $18 $19 ; mul elements
- addi $13 $0 0x1 ; tracks iterations
- jrl ROTCOND
+ addi $13 $0 0x1 ; tracks iterations
+ jrl ROTCOND
ROT:
- rotv $18 $18 $15
- addi $13 $13 0x1
+ rotv $18 $18 $15
+ addi $13 $13 0x1
ROTCOND:
- addi $4 $0 0x1
- addv $20 $20 $18
- addi $4 $14 0x0
- cmp $4 $13
- bgt ROT
+ addi $4 $0 0x1
+ addv $20 $20 $18
+ addi $4 $14 0x0
+ cmp $4 $13
+ bgt ROT
- mul $13 $6 $8 ; store the result
- add $13 $13 $9
- addi $13 $13 r
- srds $20 $13 $16
+ mul $13 $6 $8 ; store the result
+ add $13 $13 $9
+ addi $13 $13 r
+ srds $20 $13 $16
- addi $4 $0 0x0 ; clear the accumulator
- addv $20 $20 $20
- addi $4 $14 0x0
+ addi $4 $0 0x0 ; clear the accumulator
+ addv $20 $20 $20
+ addi $4 $14 0x0
- addi $9 $9 0x1 ; increment columns in m2
+ addi $9 $9 0x1 ; increment columns in m2
PCOND:
- cmp $6 $9
- bgt PITER
+ cmp $6 $9
+ bgt PITER
- addi $8 $8 0x1 ; increment rows in m1
+ addi $8 $8 0x1 ; increment rows in m1
MCOND:
- cmp $7 $8
- bgt MITER
- nop
- nop
- nop
- nop
- nop
- nop
+ cmp $7 $8
+ bgt MITER
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/input/maximum-limit.asm b/input/maximum-limit.asm
index 4df852c..ede9e5b 100644
--- a/input/maximum-limit.asm
+++ b/input/maximum-limit.asm
@@ -4,13 +4,13 @@
.data
.text
MAIN:
- addi $5 $0 1
- sftli $5 $5 31
- addi $6 $0 -1
- quot $5 $5 $6
- bof DONE
- addi $5 $0 -1 ; bad!
+ addi $5 $0 1
+ sftli $5 $5 31
+ addi $6 $0 -1
+ quot $5 $5 $6
+ bof DONE
+ addi $5 $0 -1 ; bad!
DONE:
- nop
- nop
- nop
+ nop
+ nop
+ nop
diff --git a/input/over_or_under.asm b/input/over_or_under.asm
index d543e22..c220192 100644
--- a/input/over_or_under.asm
+++ b/input/over_or_under.asm
@@ -2,60 +2,60 @@
;;; tests the over/underflow conditions on various operations
.data
- vSiz 8
- n1 -1
- space1 0 0 0 0 0 0 0 ; space is added to load this as a vector
- max 0x7FFFFFFF
- space2 0 0 0 0 0 0 0
- min 0x80000000
+ vSiz 8
+ n1 -1
+ space1 0 0 0 0 0 0 0 ; space is added to load this as a vector
+ max 0x7FFFFFFF
+ space2 0 0 0 0 0 0 0
+ min 0x80000000
.text
- load $4 vSiz($0)
- load $5 max($0)
- load $6 min($0)
- load $9 n1($0)
- addi $7 $0 max
- srdl $17 $7 $16
- addi $7 $0 min
- srdl $18 $7 $16
- addi $7 $0 n1
- srdl $19 $7 $16
- addi $7 $0 1
- addi $8 $0 -1
- jrl ADDROVER
+ load $4 vSiz($0)
+ load $5 max($0)
+ load $6 min($0)
+ load $9 n1($0)
+ addi $7 $0 max
+ srdl $17 $7 $16
+ addi $7 $0 min
+ srdl $18 $7 $16
+ addi $7 $0 n1
+ srdl $19 $7 $16
+ addi $7 $0 1
+ addi $8 $0 -1
+ jrl ADDROVER
WIN:
- nop
- nop
- nop
- quot $0 $0 $0
+ nop
+ nop
+ nop
+ quot $0 $0 $0
ADDROVER:
- add $0 $5 $7
- bof SUBRUNDER
- jrl DIE
+ add $0 $5 $7
+ bof SUBRUNDER
+ jrl DIE
SUBRUNDER:
- sub $0 $6 $7
- buf MULROK
- jrl DIE
+ sub $0 $6 $7
+ buf MULROK
+ jrl DIE
MULROK:
- mul $0 $5 $7
- buf DIE
- jrl MULVROVER
+ mul $0 $5 $7
+ buf DIE
+ jrl MULVROVER
MULVROVER:
- mulv $16 $18 $19
- bof DIVVIOVER
- jrl DIE
+ mulv $16 $18 $19
+ bof DIVVIOVER
+ jrl DIE
DIVVIOVER:
- divv $16 $18 $19
- bof WIN
- jrl DIE
+ divv $16 $18 $19
+ bof WIN
+ jrl DIE
DIE:
- nop
- nop
- nop
+ nop
+ nop
+ nop
diff --git a/input/primes-generator.asm b/input/primes-generator.asm
index f772fc3..2fac25f 100644
--- a/input/primes-generator.asm
+++ b/input/primes-generator.asm
@@ -5,70 +5,70 @@
;;; you'll find online. That may be better. :)
.data
- N 5000
- primes 0
+ N 5000
+ primes 0
.text
- addi $5 $2 0x0 ; establish frame pointer
- addi $6 $0 0x0 ; establish return argument
- jmp MAIN
+ addi $5 $2 0x0 ; establish frame pointer
+ addi $6 $0 0x0 ; establish return argument
+ jmp MAIN
TRIAL:
- push $5 ;function preamble
- addi $5 $2 0x0
- subi $2 $2 0x0
+ push $5 ;function preamble
+ addi $5 $2 0x0
+ subi $2 $2 0x0
- load $7 +1($5) ; N (argument)
- addi $8 $0 0x2 ; the initial divisor
- addi $6 $0 0x0 ; the return value
+ load $7 +1($5) ; N (argument)
+ addi $8 $0 0x2 ; the initial divisor
+ addi $6 $0 0x0 ; the return value
- jrl TCOND
+ jrl TCOND
TLOOP:
- rem $9 $7 $8 ; check if divisible
- cmp $9 $0
- beq END
+ rem $9 $7 $8 ; check if divisible
+ cmp $9 $0
+ beq END
- addi $8 $8 0x1
+ addi $8 $8 0x1
TCOND:
- cmp $7 $8
- bgt TLOOP
+ cmp $7 $8
+ bgt TLOOP
- addi $6 $0 0x1 ; return 1 (signal parameter is prime)
+ addi $6 $0 0x1 ; return 1 (signal parameter is prime)
END:
- addi $2 $5 0x0 ; function postamble
- pop $5
- ret
+ addi $2 $5 0x0 ; function postamble
+ pop $5
+ ret
MAIN:
- push $5 ; function preamble
- addi $5 $2 0x0
- subi $2 $2 0x3
+ push $5 ; function preamble
+ addi $5 $2 0x0
+ subi $2 $2 0x3
- load $7 N($0) ; N
- addi $8 $0 0x2 ; number to test
- addi $9 $0 0x0 ; index to store
+ load $7 N($0) ; N
+ addi $8 $0 0x2 ; number to test
+ addi $9 $0 0x0 ; index to store
GEN:
- store $9 -1($5) ; caller-saved registers
- store $8 -2($5)
- store $7 -3($5)
+ store $9 -1($5) ; caller-saved registers
+ store $8 -2($5)
+ store $7 -3($5)
- push $8 ; push arg
- jal TRIAL
- addi $2 $2 0x1
+ push $8 ; push arg
+ jal TRIAL
+ addi $2 $2 0x1
- load $9 -1($5) ; restore registers
- load $8 -2($5)
- load $7 -3($5)
+ load $9 -1($5) ; restore registers
+ load $8 -2($5)
+ load $7 -3($5)
- cmp $6 $0 ; check if return is 0
- beq COMPOSITE
+ cmp $6 $0 ; check if return is 0
+ beq COMPOSITE
- store $8 primes($9) ; store prime
- addi $9 $9 0x1
+ store $8 primes($9) ; store prime
+ addi $9 $9 0x1
COMPOSITE:
- addi $8 $8 0x1
- cmp $7 $8
- bgt GEN
- nop
- nop
- nop
+ addi $8 $8 0x1
+ cmp $7 $8
+ bgt GEN
+ nop
+ nop
+ nop
diff --git a/input/rabbits.asm b/input/rabbits.asm
index f296cd2..4311750 100644
--- a/input/rabbits.asm
+++ b/input/rabbits.asm
@@ -2,20 +2,19 @@
;;; multiplies numbers until an overflow occurs
.data
- rabbits 2
- rate 2
+ rabbits 2
+ rate 2
.text
- load $5 rabbits($0)
- load $6 rate($0)
+ load $5 rabbits($0)
+ load $6 rate($0)
BREED:
- mul $5 $5 $6
- store $5 rabbits($0)
- bof DONE
- jrl BREED
+ mul $5 $5 $6
+ store $5 rabbits($0)
+ bof DONE
+ jrl BREED
DONE:
- nop
- nop
- nop
- div $0 $0 $0
+ nop
+ nop
+ nop
diff --git a/input/stacktopia.asm b/input/stacktopia.asm
index 5eef33b..783ff54 100644
--- a/input/stacktopia.asm
+++ b/input/stacktopia.asm
@@ -4,17 +4,17 @@
.data
.text
MAIN:
- addi $5 $0 1
- push $5
- addi $5 $5 1
- push $5
- addi $5 $5 1
- push $5
- addi $5 $5 1
- push $5
- pop $5
- pop $6
- pop $7
- pop $8
- nop
- nop
+ addi $5 $0 1
+ push $5
+ addi $5 $5 1
+ push $5
+ addi $5 $5 1
+ push $5
+ addi $5 $5 1
+ push $5
+ pop $5
+ pop $6
+ pop $7
+ pop $8
+ nop
+ nop
diff --git a/input/stride.asm b/input/stride.asm
index 5a99a3d..1052294 100644
--- a/input/stride.asm
+++ b/input/stride.asm
@@ -2,34 +2,29 @@
;;; tests the stride load/store operations
.data
- s 8
- j 0 2 4 6 8 10 -6 -3 ; tricky stride
- d 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
- r 0
+ s 8
+ j 0 2 4 6 8 10 -6 -3 ; tricky stride
+ d 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
+ r 0
.text
- addi $5 $0 d ; obtain pointer to data/result
- addi $6 $0 r
- addi $7 $0 j
- load $4 s($0) ; set vector length
- addv $17 $16 $16
+ addi $5 $0 d ; obtain pointer to data/result
+ addi $6 $0 r
+ addi $7 $0 j
+ load $4 s($0) ; set vector length
+ addv $17 $16 $16
-;;; TMP TESTING ;;;
- addi $4 $0 0x0
- addv $17 $16 $16 ; clear vector
-;;; END ;;;
+ addv $18 $17 $16
- addv $18 $17 $16
+ srdl $19 $7 $16 ; load fun stride
+ rotv $19 $19 $5 ; mix it up
+ srds $19 $6 $17
- srdl $19 $7 $16 ; load fun stride
- rotv $19 $19 $5 ; mix it up
- srds $19 $6 $17
+ srdl $20 $5 $17
+ srds $20 $6 $16
- srdl $20 $5 $17
- srds $20 $6 $16
+ srdl $20 $5 $19
+ srds $20 $6 $16
- srdl $20 $5 $19
- srds $20 $6 $16
-
- nop
- nop
- nop
+ nop
+ nop
+ nop
diff --git a/input/there-and-back-again.asm b/input/there-and-back-again.asm
index 5f6b2ec..22dfb32 100644
--- a/input/there-and-back-again.asm
+++ b/input/there-and-back-again.asm
@@ -4,16 +4,16 @@
.data
.text
MAIN:
- jal PUSHER
- pop $5
- nop
- nop
- nop
- quot $0 $0 $0
+ jal PUSHER
+ pop $5
+ nop
+ nop
+ nop
+ quot $0 $0 $0
PUSHER:
- push $2
- ret
- nop
- nop
- nop
- nop
+ push $2
+ ret
+ nop
+ nop
+ nop
+ nop
diff --git a/input/vector_fun.asm b/input/vector_fun.asm
index f91b4a0..c023cac 100644
--- a/input/vector_fun.asm
+++ b/input/vector_fun.asm
@@ -2,21 +2,21 @@
;;; tests the ALU vector extension
.data
- s 4
+ s 4
.text
- load $4 s($0) ; set the vector length register
+ load $4 s($0) ; set the vector length register
LOOP:
- cev $17 $16
- beq END
+ cev $17 $16
+ beq END
- addv $17 $16 $17
- addv $17 $16 $17
- mulv $17 $17 $17
- subv $17 $17 $16
- subv $17 $17 $16
- subv $17 $17 $16
- jrl LOOP
+ addv $17 $16 $17
+ addv $17 $16 $17
+ mulv $17 $17 $17
+ subv $17 $17 $16
+ subv $17 $17 $16
+ subv $17 $17 $16
+ jrl LOOP
END:
- nop
- nop
- nop
+ nop
+ nop
+ nop