diff options
Diffstat (limited to 'input/over_or_under.asm')
-rw-r--r-- | input/over_or_under.asm | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/input/over_or_under.asm b/input/over_or_under.asm new file mode 100644 index 0000000..4be18ab --- /dev/null +++ b/input/over_or_under.asm @@ -0,0 +1,57 @@ +;;;;;;;; +;;; tests the over/underflow conditions on various operations + +.data + 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 + +.text + load $4 vSiz($0) + load $5 max($0) + load $6 min($0) + loadv $17 max($0) + loadv $18 min($0) + loadv $19 n1($0) + addi $7 $0 1 + addi $8 $0 -1 + jrl ADDROVER + +WIN: + nop + nop + nop + quot $0 $0 $0 + +ADDROVER: + add $0 $5 $7 + bof SUBRUNDER + jrl DIE + +SUBRUNDER: + sub $0 $6 $7 + buf MULROK + jrl DIE + +MULROK: + mul $0 $5 $7 + buf DIE + jrl MULVROVER + +MULVROVER: + mulv $16 $18 $19 + bof DIVVIOVER + jrl DIE + +DIVVIOVER: + divv $15 $18 $19 + bof WIN + jrl DIE + +DIE: + nop + nop + nop |