diff --git a/inputs/div/div-5.ref.txt b/inputs/div/div-5.ref.txt index e440e5c..00750ed 100644 --- a/inputs/div/div-5.ref.txt +++ b/inputs/div/div-5.ref.txt @@ -1 +1 @@ -3 \ No newline at end of file +3 diff --git a/inputs/div/div-5.txt b/inputs/div/div-5.txt index 0783404..d7e9341 100644 --- a/inputs/div/div-5.txt +++ b/inputs/div/div-5.txt @@ -1,6 +1,6 @@ 34040004 34050003 -00A4001A +0085001A 00002010 00002812 00851021 diff --git a/reference/divedgecaseref.txt b/reference/divedgecaseref.txt new file mode 100644 index 0000000..cfee281 --- /dev/null +++ b/reference/divedgecaseref.txt @@ -0,0 +1,74 @@ +==========DIV-Divide========== + +div - 2 // is it seperating quotients & remainders correctly + +ori $4, $0, 4 +ori $5, $0, 3 +div $4, $5 +mfhi $4 +mflo $5 +addu $2,$4,$5 +jr $0 + +ref file = 2 + +34040004 +34050003 +0085001A +00002010 +00002812 +00851021 +00000008 + +div - 3 // -ve/-ve + +ori $4, $0, -4 +ori $5, $0, -2 +div $4, $5 +mflo $2 +jr $0 + +reg file = 2 + +3404fffc +3405fffe +0085001A +00001012 +00000008 + +div - 4 // +ve/-ve + +ori $4, $0, 4 +ori $5, $0, -2 +div $4, $5 +mflo $2 +jr $0 + +reg file = -2 + +34040004 +3405fffe +0085001A +00001012 +00000008 + + +div - 5 // is it seperating quotients & remainders correctly - when dealing with negatives + +ori $4, $0, -4 +ori $5, $0, 3 +div $4, $5 +mfhi $4 +mflo $5 +addu $2,$4,$5 +jr $0 + +ref file = 2 - as we are adding -1 and -1 using addu + +34040004 +34050003 +0085001A +00002010 +00002812 +00851021 +00000008 \ No newline at end of file