.data __str0: .asciiz " is prime!\n" .text .globl entry entry: addi $sp, $sp, -2008 addi $s0, $sp, 4 li $s1, 2 sw $s1, 0($s0) move $s0, $s1 __L0: lw $s0, 4($sp) li $s1, 500 slt $s0, $s0, $s1 beq $s0, $zero, __L1 addi $s0, $sp, 8 lw $s1, 4($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 1 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 4 lw $s1, 4($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L0 __L1: addi $s0, $sp, 4 li $s1, 2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L2: lw $s0, 4($sp) li $s1, 500 slt $s0, $s0, $s1 beq $s0, $zero, __L3 addi $s0, $sp, 8 lw $s1, 4($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L4 addi $s0, $sp, 0 lw $s1, 4($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L5: lw $s0, 0($sp) li $s1, 500 slt $s0, $s0, $s1 beq $s0, $zero, __L6 lw $s0, 0($sp) lw $s1, 4($sp) div $s0, $s1 mfhi $s0 seq $s0, $s0, $zero beq $s0, $zero, __L7 addi $s0, $sp, 8 lw $s1, 0($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L7: addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L5 __L6: __L4: addi $s0, $sp, 4 lw $s1, 4($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L2 __L3: addi $s0, $sp, 4 li $s1, 2 sw $s1, 0($s0) move $s0, $s1 __L8: lw $s0, 4($sp) li $s1, 500 slt $s0, $s0, $s1 beq $s0, $zero, __L9 addi $s0, $sp, 8 lw $s1, 4($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L10 addi $sp, $sp, -16 la $s0, printd sw $s0, 12($sp) la $t0, __L12 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L12: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L14 sw $t0, 8($sp) la $t0, __str0 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L14: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L10: addi $s0, $sp, 4 lw $s1, 4($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L8 __L9: addi $sp, $sp, 2008 lw $ra, 4($sp) jr $ra