You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SQA-Homework/afl_fuzz/tests/test.s

165 lines
2.1 KiB

.data
__str0:
.asciiz "Enter n:\n"
__str1:
.asciiz "n! = "
__str2:
.asciiz "\n"
.text
.globl entry
entry:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1
sw $t0, 8($sp)
la $t0, __str0
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
addi $s0, $sp, 16
la $s1, inputd
sw $s1, 12($sp)
sw $s0, 8($sp)
la $t0, __L3
sw $t0, 4($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L3:
addi $sp, $sp, 0
lw $t0, 0($sp)
lw $s0, 8($sp)
lw $s1, 12($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L5
sw $t0, 8($sp)
la $t0, __str1
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L5:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -28
la $s0, printd
sw $s0, 24($sp)
la $t0, __L8
sw $t0, 20($sp)
la $t0, factorial
sw $t0, 12($sp)
la $t0, __L9
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L9:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 24($sp)
addi $sp, $sp, 12
jr $t0
__L8:
addi $sp, $sp, -12
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L11
sw $t0, 8($sp)
la $t0, __str2
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L11:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 4
lw $ra, 4($sp)
jr $ra
.globl factorial
factorial:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 1
sgt $s0, $s0, $s1
beq $s0, $zero, __L12
addi $sp, $sp, -20
lw $s0, 20($sp)
la $s1, factorial
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L14
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
li $s0, 1
lw $t0, 0($sp)
sub $t0, $t0, $s0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L14:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
mult $s0, $s1
mflo $s0
addi $sp, $sp, 20
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
__L12:
li $s0, 1
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra