diff options
-rw-r--r-- | input/maximum-limit.asm | 16 | ||||
-rw-r--r-- | input/negative-rabbits.asm | 18 | ||||
-rw-r--r-- | input/rabbits.asm | 3 | ||||
-rw-r--r-- | input/there-and-back-again.asm | 3 |
4 files changed, 22 insertions, 18 deletions
diff --git a/input/maximum-limit.asm b/input/maximum-limit.asm new file mode 100644 index 0000000..4df852c --- /dev/null +++ b/input/maximum-limit.asm @@ -0,0 +1,16 @@ +;;;;;;;; +;;; tests integer boundaries and overflow condition + +.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! +DONE: + nop + nop + nop diff --git a/input/negative-rabbits.asm b/input/negative-rabbits.asm deleted file mode 100644 index ac1b14a..0000000 --- a/input/negative-rabbits.asm +++ /dev/null @@ -1,18 +0,0 @@ -;;;;;;;; -;;; multiplies numbers until an overflow occurs - -.data - rabbits 2 - rate 300 - -.text - load $5 rabbits($0) - load $6 rate($0) - -BREED: - foo - mul $5 $5 $4 - store $5 rabbits($0) - bof DONE - jrl BREED -DONE: diff --git a/input/rabbits.asm b/input/rabbits.asm index c848116..bcb3370 100644 --- a/input/rabbits.asm +++ b/input/rabbits.asm @@ -15,3 +15,6 @@ BREED: bof DONE jrl BREED DONE: + nop + nop + nop diff --git a/input/there-and-back-again.asm b/input/there-and-back-again.asm index 73bd117..5f6b2ec 100644 --- a/input/there-and-back-again.asm +++ b/input/there-and-back-again.asm @@ -6,6 +6,9 @@ MAIN: jal PUSHER pop $5 + nop + nop + nop quot $0 $0 $0 PUSHER: push $2 |