diff options
author | bd <bdunahu@operationnull.com> | 2025-04-18 00:04:33 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-04-18 00:04:33 -0400 |
commit | 60dde60b71c8514aa8365a67cda8f86ecb636089 (patch) | |
tree | 7c12e01790a87e40f5f534eaf1a9643c97464886 /input | |
parent | 7ad6093d69afa90de243e72868f0d463dcd5eae7 (diff) |
Fix matrix multiplication with simulator feedback
Diffstat (limited to 'input')
-rw-r--r-- | input/identity.asm | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/input/identity.asm b/input/identity.asm index e6d9260..bb6af17 100644 --- a/input/identity.asm +++ b/input/identity.asm @@ -13,10 +13,10 @@ .text addi $8 $0 0x4 ; dimensions addi $9 $0 0x0 ; tracks the rows - addi $10 $0 0x0 ; tracks the columns jrl ROWCOND ROW: + addi $10 $0 0x0 ; tracks the columns jrl COLCOND COL: addi $11 $0 0x0 ; tracks the element being added @@ -28,32 +28,43 @@ COL: 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 + jrl ELECOND ELE: - add $5 $5 $11 ; increment m1 + add $5 $15 $11 ; increment m1 mul $13 $11 $8 ; increment m2 - add $6 $6 $13 + add $6 $7 $13 load $13 0($5) ; retrieve and accumulate load $14 0($6) - add $12 $14 $13 + mul $13 $14 $13 + add $12 $12 $13 addi $11 $11 0x1 ELECOND: cmp $8 $11 bgt ELE - addi $10 $10 0x1 -COLCOND: - cmp $8 $10 - bgt COL - add $7 $7 $10 ; setup the index into r + mul $7 $9 $8 + add $7 $7 $10 addi $7 $7 r store $12 0($7) + addi $10 $10 0x1 +COLCOND: + cmp $8 $10 + bgt COL + addi $9 $9 0x1 ROWCOND: cmp $8 $9 bgt ROW + nop + nop + nop + nop + nop |