This commit is contained in:
2025-11-06 10:44:25 +08:00
parent 949396519e
commit 40ddda13c4
25 changed files with 66164 additions and 74 deletions

69
sortnum.asm Normal file
View File

@@ -0,0 +1,69 @@
// Sort number from biggest to smallest
// 88 66 44 22 1 11 33 55 77 99
addi.w $r1, $r1, 88
addi.w $r2, $r2, 44
addi.w $r3, $r3, 1
addi.w $r4, $r4, 22
addi.w $r5, $r5, 55
slt $r10, $r1, $r2 // Compare r1 and r2
beq $r10, $r0, 16 // If r1 >= r2, branch to next
addi.w $r11, $r1, 0 // r11 = r1 (temp storage)
addi.w $r1, $r2, 0 // r1 = r2 (swap)
addi.w $r2, $r11, 0 // r2 = r11 (swap)
slt $r10, $r1, $r3 // Compare r1 and r3
beq $r10, $r0, 16 // If r1 >= r3, branch to next
addi.w $r11, $r1, 0 // r11 = r1 (temp storage)
addi.w $r1, $r3, 0 // r1 = r3 (swap)
addi.w $r3, $r11, 0 // r3 = r11 (swap)
slt $r10, $r1, $r4 // Compare r1 and r4
beq $r10, $r0, 16 // If r1 >= r4, branch to next
addi.w $r11, $r1, 0 // r11 = r1 (temp storage)
addi.w $r1, $r4, 0 // r1 = r4 (swap)
addi.w $r4, $r11, 0 // r4 = r11 (swap)
slt $r10, $r1, $r5 // Compare r1 and r5
beq $r10, $r0, 16 // If r1 >= r5, branch to next
addi.w $r11, $r1, 0 // r11 = r1 (temp storage)
addi.w $r1, $r5, 0 // r1 = r5 (swap)
addi.w $r5, $r11, 0 // r5 = r11 (swap)
slt $r10, $r2, $r3 // Compare r2 and r3
beq $r10, $r0, 16 // If r2 >= r3, branch to next
addi.w $r11, $r2, 0 // r11 = r2 (temp storage)
addi.w $r2, $r3, 0 // r2 = r3 (swap)
addi.w $r3, $r11, 0 // r3 = r11 (swap)
slt $r10, $r2, $r4 // Compare r2 and r4
beq $r10, $r0, 16 // If r2 >= r4, branch to next
addi.w $r11, $r2, 0 // r11 = r2 (temp storage)
addi.w $r2, $r4, 0 // r2 = r4 (swap)
addi.w $r4, $r11, 0 // r4 = r11 (swap)
slt $r10, $r2, $r5 // Compare r2 and r5
beq $r10, $r0, 16 // If r2 >= r5, branch to next
addi.w $r11, $r2, 0 // r11 = r2 (temp storage)
addi.w $r2, $r5, 0 // r2 = r5 (swap)
addi.w $r5, $r11, 0 // r5 = r11 (swap)
slt $r10, $r3, $r4 // Compare r3 and r4
beq $r10, $r0, 16 // If r3 >= r4, branch to next
addi.w $r11, $r3, 0 // r11 = r3 (temp storage)
addi.w $r3, $r4, 0 // r3 = r4 (swap)
addi.w $r4, $r11, 0 // r4 = r11 (swap)
slt $r10, $r3, $r5 // Compare r3 and r5
beq $r10, $r0, 16 // If r3 >= r5, branch to next
addi.w $r11, $r3, 0 // r11 = r3 (temp storage)
addi.w $r3, $r5, 0 // r3 = r5 (swap)
addi.w $r5, $r11, 0 // r5 = r11 (swap)
slt $r10, $r4, $r5 // Compare r4 and r5
beq $r10, $r0, 16 // If r4 >= r5, branch to next
addi.w $r11, $r4, 0 // r11 = r4 (temp storage)
addi.w $r4, $r5, 0 // r4 = r5 (swap)
addi.w $r5, $r11, 0 // r5 = r11 (swap)