.globl main main: la $t0, __return_here sw $t0, 4($sp) j entry __return_here: li $v0, 10 syscall .globl inputd inputd: li $v0, 5 syscall sw $v0, 0($sp) lw $ra, 4($sp) jr $ra .globl prints prints: lw $a0, 0($sp) li $v0, 4 syscall lw $ra, 8($sp) jr $ra .globl printd printd: lw $a0, 0($sp) li $v0, 1 syscall lw $ra, 8($sp) jr $ra .globl inputs inputs: lw $a0, 4($sp) lw $a1, 0($sp) li $v0, 8 syscall lw $ra, 12($sp) jr $ra .globl inputc inputc: li $v0, 12 syscall sw $v0, 0($sp) lw $ra, 4($sp) jr $ra .globl printc printc: lb $a0, 0($sp) li $v0, 11 syscall lw $ra, 8($sp) jr $ra .globl malloc malloc: lw $a0, 0($sp) li $v0, 9 syscall sw $v0, 4($sp) lw $ra, 8($sp) jr $ra .data .text .data .align 2 _kmalloc_heap: .space 4 .text .data .align 2 _kmalloc_end: .space 4 .text .data .align 2 INT_SIZE: .space 4 .text .data .align 2 POINTER_SIZE: .space 4 .text .data .align 2 CHAR_SIZE: .space 4 .text .globl kmalloc_init kmalloc_init: addi $sp, $sp, 0 la $s0, _kmalloc_heap lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 la $s0, _kmalloc_end lw $s1, 4($sp) lw $s2, 0($sp) li $s3, 2 srav $s2, $s2, $s3 sll $s2, $s2, 2 add $s1, $s1, $s2 li $s2, 3 sll $s2, $s2, 2 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, _kmalloc_heap lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, _kmalloc_heap lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, _kmalloc_end lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 la $s0, _kmalloc_heap lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, _kmalloc_end lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, _kmalloc_heap lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 la $s0, _kmalloc_end lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, _kmalloc_end lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 1 sw $s1, 0($s0) move $s0, $s1 la $s0, INT_SIZE li $s1, 4 sw $s1, 0($s0) move $s0, $s1 la $s0, POINTER_SIZE li $s1, 4 sw $s1, 0($s0) move $s0, $s1 la $s0, CHAR_SIZE li $s1, 4 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra .globl _kmalloc_merge _kmalloc_merge: addi $sp, $sp, -4 lw $s0, 4($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L0 __L1: lw $s0, 4($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L2 addi $s0, $sp, 0 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 j __L1 __L2: __L0: addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl kmalloc kmalloc: addi $sp, $sp, -8 lw $s0, 8($sp) li $s1, 3 and $s0, $s0, $s1 beq $s0, $zero, __L3 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 2 srav $s1, $s1, $s2 li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L4 __L3: addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 2 srav $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L4: addi $s0, $sp, 4 la $s1, _kmalloc_heap lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 __L5: lw $s0, 4($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L6 addi $sp, $sp, -16 la $s0, _kmalloc_merge sw $s0, 12($sp) la $t0, __L8 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L8: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L10 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) sub $s1, $s1, $s2 sra $s1, $s1, 2 li $s2, 6 sub $s1, $s1, $s2 lw $s2, 8($sp) slt $s1, $s1, $s2 seq $s1, $s1, $zero sne $s1, $s1, $zero move $s0, $s1 __L10: beq $s0, $zero, __L11 addi $s0, $sp, 0 lw $s1, 4($sp) lw $s2, 8($sp) sll $s2, $s2, 2 add $s1, $s1, $s2 li $s2, 3 sll $s2, $s2, 2 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 1 sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) li $s1, 3 sll $s1, $s1, 2 add $s0, $s0, $s1 sw $s0, 12($sp) addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra __L11: addi $s0, $sp, 4 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 j __L5 __L6: li $s0, 0 sw $s0, 12($sp) addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra .globl kfree kfree: addi $sp, $sp, -4 addi $s0, $sp, 0 lw $s1, 4($sp) li $s2, 3 sll $s2, $s2, 2 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .data .text .globl create_linked_list create_linked_list: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L13 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 3 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L13: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl free_linked_list free_linked_list: addi $sp, $sp, -4 __L14: lw $s0, 8($sp) beq $s0, $zero, __L15 addi $sp, $sp, -16 lw $s0, 20($sp) sw $s0, 12($sp) la $t0, __L17 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L17: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 0 lw $s1, 8($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L19 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L19: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 8 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 j __L14 __L15: addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl get_list_value get_list_value: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl next_list next_list: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl previous_list previous_list: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl add_value add_value: addi $sp, $sp, -8 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, create_linked_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L21 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L21: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s1, 12($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 12($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 12($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) beq $s0, $zero, __L22 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 __L22: addi $sp, $sp, 8 lw $ra, 12($sp) jr $ra .globl remove_value remove_value: addi $sp, $sp, -8 addi $sp, $sp, -16 lw $s0, 24($sp) sw $s0, 12($sp) la $t0, __L24 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L24: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 4 lw $s1, 12($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s1, 12($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L26 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L26: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) beq $s0, $zero, __L27 lw $s0, 4($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 __L27: lw $s0, 0($sp) beq $s0, $zero, __L28 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 __L28: addi $sp, $sp, 8 lw $ra, 12($sp) jr $ra .data .text .globl create_dictionary create_dictionary: addi $sp, $sp, -8 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L30 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 17 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L30: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L31: lw $s0, 0($sp) li $s1, 16 slt $s0, $s0, $s1 beq $s0, $zero, __L32 j __L33 __L34: addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L31 __L33: addi $s0, $sp, 4 lw $s0, 0($s0) lw $s1, 0($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 j __L34 __L32: addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 16 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) sw $s0, 12($sp) addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra .globl free_dictionary free_dictionary: addi $sp, $sp, -4 addi $s0, $sp, 0 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L35: lw $s0, 0($sp) li $s1, 16 slt $s0, $s0, $s1 beq $s0, $zero, __L36 j __L37 __L38: addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L35 __L37: lw $s0, 8($sp) lw $s1, 0($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L39 addi $sp, $sp, -20 la $s0, free_dictionary sw $s0, 16($sp) la $t0, __L41 sw $t0, 12($sp) lw $t0, 28($sp) sw $t0, 4($sp) lw $s0, 20($sp) sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L41: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 __L39: j __L38 __L36: lw $s0, 8($sp) li $s1, 16 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L42 addi $sp, $sp, -16 lw $s0, 20($sp) sw $s0, 12($sp) la $t0, __L44 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 16 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L44: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L42: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L46 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L46: 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, 12($sp) jr $ra .globl read_dictionary read_dictionary: addi $sp, $sp, -4 lw $s0, 8($sp) lb $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L47 lw $s0, 12($sp) li $s1, 16 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) sw $s0, 16($sp) addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra __L47: lb $s0, 4($sp) seq $s0, $s0, $zero beq $s0, $zero, __L48 addi $s0, $sp, 0 lw $s1, 8($sp) lb $s1, 0($s1) li $s2, 240 and $s1, $s1, $s2 li $s2, 4 srav $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 lw $s0, 12($sp) lw $s1, 0($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L49 addi $sp, $sp, -20 addi $s0, $sp, 32 lw $s0, 0($s0) lw $s1, 20($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, create_dictionary sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L51 sw $t0, 8($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L51: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L49: addi $sp, $sp, -24 la $s0, read_dictionary sw $s0, 20($sp) la $t0, __L53 sw $t0, 16($sp) lw $t0, 36($sp) sw $t0, 8($sp) lw $s0, 24($sp) sll $s0, $s0, 2 lw $t0, 8($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 4($sp) li $t0, 1 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L53: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 sw $s0, 16($sp) addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra j __L54 __L48: addi $s0, $sp, 0 lw $s1, 8($sp) lb $s1, 0($s1) li $s2, 15 and $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 lw $s0, 12($sp) lw $s1, 0($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L55 addi $sp, $sp, -20 addi $s0, $sp, 32 lw $s0, 0($s0) lw $s1, 20($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, create_dictionary sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L57 sw $t0, 8($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L57: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L55: addi $sp, $sp, -24 la $s0, read_dictionary sw $s0, 20($sp) la $t0, __L59 sw $t0, 16($sp) lw $t0, 36($sp) sw $t0, 8($sp) lw $s0, 24($sp) sll $s0, $s0, 2 lw $t0, 8($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 4($sp) li $s0, 1 lw $t0, 4($sp) add $t0, $t0, $s0 sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L59: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 sw $s0, 16($sp) addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra __L54: addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra .globl write_dictionary write_dictionary: addi $sp, $sp, -4 lw $s0, 12($sp) lb $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L60 addi $s0, $sp, 16 lw $s0, 0($s0) li $s1, 16 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 4 lw $ra, 20($sp) jr $ra __L60: lb $s0, 4($sp) seq $s0, $s0, $zero beq $s0, $zero, __L61 addi $s0, $sp, 0 lw $s1, 12($sp) lb $s1, 0($s1) li $s2, 240 and $s1, $s1, $s2 li $s2, 4 srav $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 lw $s0, 16($sp) lw $s1, 0($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L62 addi $sp, $sp, -20 addi $s0, $sp, 36 lw $s0, 0($s0) lw $s1, 20($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, create_dictionary sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L64 sw $t0, 8($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L64: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L62: addi $sp, $sp, -28 la $s0, write_dictionary sw $s0, 24($sp) la $t0, __L66 sw $t0, 20($sp) lw $t0, 44($sp) sw $t0, 12($sp) lw $s0, 28($sp) sll $s0, $s0, 2 lw $t0, 12($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 12($sp) lw $t0, 40($sp) sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 4($sp) li $t0, 1 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L66: addi $sp, $sp, 0 lw $t0, 16($sp) lw $s0, 24($sp) move $s0, $t0 addi $sp, $sp, 28 j __L67 __L61: addi $s0, $sp, 0 lw $s1, 12($sp) lb $s1, 0($s1) li $s2, 15 and $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 lw $s0, 16($sp) lw $s1, 0($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L68 addi $sp, $sp, -20 addi $s0, $sp, 36 lw $s0, 0($s0) lw $s1, 20($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, create_dictionary sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L70 sw $t0, 8($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L70: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L68: addi $sp, $sp, -28 la $s0, write_dictionary sw $s0, 24($sp) la $t0, __L72 sw $t0, 20($sp) lw $t0, 44($sp) sw $t0, 12($sp) lw $s0, 28($sp) sll $s0, $s0, 2 lw $t0, 12($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 12($sp) lw $t0, 40($sp) sw $t0, 8($sp) li $s0, 1 lw $t0, 8($sp) add $t0, $t0, $s0 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L72: addi $sp, $sp, 0 lw $t0, 16($sp) lw $s0, 24($sp) move $s0, $t0 addi $sp, $sp, 28 __L67: addi $sp, $sp, 4 lw $ra, 20($sp) jr $ra .data __str0: .asciiz "SUBSTR" __str1: .asciiz "STR" __str2: .asciiz "\"" __str3: .asciiz "\"" __str4: .asciiz "[" __str5: .asciiz "]" __str6: .asciiz "(" __str7: .asciiz ")" __str8: .asciiz " + (" __str9: .asciiz ")" __str10: .asciiz "(" __str11: .asciiz ")" __str12: .asciiz " - (" __str13: .asciiz ")" __str14: .asciiz "(" __str15: .asciiz ")" __str16: .asciiz " * (" __str17: .asciiz ")" __str18: .asciiz "(" __str19: .asciiz ")" __str20: .asciiz " / (" __str21: .asciiz ")" __str22: .asciiz "(" __str23: .asciiz ")" __str24: .asciiz " = (" __str25: .asciiz ")" __str26: .asciiz "(" __str27: .asciiz ")" __str28: .asciiz " != (" __str29: .asciiz ")" __str30: .asciiz "(" __str31: .asciiz ")" __str32: .asciiz " > (" __str33: .asciiz ")" __str34: .asciiz "(" __str35: .asciiz ")" __str36: .asciiz " < (" __str37: .asciiz ")" __str38: .asciiz "(" __str39: .asciiz ")" __str40: .asciiz " & (" __str41: .asciiz ")" __str42: .asciiz "(" __str43: .asciiz ")" __str44: .asciiz " | (" __str45: .asciiz ")" __str46: .asciiz "SUBSTR(" __str47: .asciiz ", " __str48: .asciiz ", " __str49: .asciiz ")" __str50: .asciiz "STR(" __str51: .asciiz ")" __str52: .asciiz "PRINT " __str53: .asciiz "INPUT " __str54: .asciiz "INPUTSTR " __str55: .asciiz "LET " __str56: .asciiz " = " __str57: .asciiz "DIM " __str58: .asciiz ", " __str59: .asciiz "IF " __str60: .asciiz "GOTO " __str61: .asciiz "GOSUB " __str62: .asciiz "WHILE " __str63: .asciiz "RUN" __str64: .asciiz "IF" __str65: .asciiz "WHILE" __str66: .asciiz "END IF" __str67: .asciiz "END WHILE" __str68: .asciiz "END" __str69: .asciiz "RETURN" __str70: .asciiz "LIST" __str71: .asciiz "PRINT" __str72: .asciiz "INPUT" __str73: .asciiz "INPUTSTR" __str74: .asciiz "RUN" __str75: .asciiz "END" __str76: .asciiz "IF" __str77: .asciiz "WHILE" __str78: .asciiz "LET" __str79: .asciiz "DIM" __str80: .asciiz "GOTO" __str81: .asciiz "GOSUB" __str82: .asciiz "RETURN" __str83: .asciiz "LIST" .text .data .align 2 INT_TOKEN: .space 4 .text .data .align 2 STR_TOKEN: .space 4 .text .data .align 2 VAR_TOKEN: .space 4 .text .data .align 2 SUBSTRING: .space 4 .text .data .align 2 STRFUNC: .space 4 .text .data .align 2 PLUS: .space 4 .text .data .align 2 MINUS: .space 4 .text .data .align 2 MULTIPLY: .space 4 .text .data .align 2 DIVIDE: .space 4 .text .data .align 2 EQUALS: .space 4 .text .data .align 2 GREATER_THAN: .space 4 .text .data .align 2 LESS_THAN: .space 4 .text .data .align 2 NOT_EQUALS: .space 4 .text .data .align 2 AND: .space 4 .text .data .align 2 OR: .space 4 .text .data .align 2 INTVAR: .space 4 .text .data .align 2 STRVAR: .space 4 .text .data .align 2 PRINT: .space 4 .text .data .align 2 INPUT: .space 4 .text .data .align 2 INPUTSTR: .space 4 .text .data .align 2 RUN: .space 4 .text .data .align 2 END: .space 4 .text .data .align 2 IF: .space 4 .text .data .align 2 WHILE: .space 4 .text .data .align 2 LET: .space 4 .text .data .align 2 DIM: .space 4 .text .data .align 2 GOSUB: .space 4 .text .data .align 2 GOTO: .space 4 .text .data .align 2 RETURN: .space 4 .text .data .align 2 LIST: .space 4 .text .data .align 2 error: .space 4 .text .globl init_tokens init_tokens: addi $sp, $sp, 0 la $s0, INT_TOKEN li $s1, 1 sw $s1, 0($s0) move $s0, $s1 la $s0, STR_TOKEN li $s1, 2 sw $s1, 0($s0) move $s0, $s1 la $s0, SUBSTRING li $s1, 3 sw $s1, 0($s0) move $s0, $s1 la $s0, STRFUNC li $s1, 4 sw $s1, 0($s0) move $s0, $s1 la $s0, PLUS li $s1, 5 sw $s1, 0($s0) move $s0, $s1 la $s0, MINUS li $s1, 6 sw $s1, 0($s0) move $s0, $s1 la $s0, MULTIPLY li $s1, 7 sw $s1, 0($s0) move $s0, $s1 la $s0, DIVIDE li $s1, 8 sw $s1, 0($s0) move $s0, $s1 la $s0, EQUALS li $s1, 9 sw $s1, 0($s0) move $s0, $s1 la $s0, GREATER_THAN li $s1, 10 sw $s1, 0($s0) move $s0, $s1 la $s0, LESS_THAN li $s1, 11 sw $s1, 0($s0) move $s0, $s1 la $s0, NOT_EQUALS li $s1, 12 sw $s1, 0($s0) move $s0, $s1 la $s0, AND li $s1, 13 sw $s1, 0($s0) move $s0, $s1 la $s0, OR li $s1, 14 sw $s1, 0($s0) move $s0, $s1 la $s0, VAR_TOKEN li $s1, 15 sw $s1, 0($s0) move $s0, $s1 la $s0, INTVAR li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, STRVAR li $s1, 1 sw $s1, 0($s0) move $s0, $s1 la $s0, PRINT li $s1, 1 sw $s1, 0($s0) move $s0, $s1 la $s0, INPUT li $s1, 2 sw $s1, 0($s0) move $s0, $s1 la $s0, INPUTSTR li $s1, 3 sw $s1, 0($s0) move $s0, $s1 la $s0, RUN li $s1, 4 sw $s1, 0($s0) move $s0, $s1 la $s0, END li $s1, 5 sw $s1, 0($s0) move $s0, $s1 la $s0, IF li $s1, 6 sw $s1, 0($s0) move $s0, $s1 la $s0, WHILE li $s1, 7 sw $s1, 0($s0) move $s0, $s1 la $s0, DIM li $s1, 8 sw $s1, 0($s0) move $s0, $s1 la $s0, GOSUB li $s1, 9 sw $s1, 0($s0) move $s0, $s1 la $s0, GOTO li $s1, 10 sw $s1, 0($s0) move $s0, $s1 la $s0, RETURN li $s1, 11 sw $s1, 0($s0) move $s0, $s1 la $s0, LIST li $s1, 12 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 0 lw $ra, 4($sp) jr $ra .globl alpha alpha: addi $sp, $sp, 0 lb $s0, 0($sp) li $s1, 97 slt $s0, $s0, $s1 seq $s0, $s0, $zero beq $s0, $zero, __L76 lb $s1, 0($sp) li $s2, 122 sgt $s1, $s1, $s2 seq $s1, $s1, $zero sne $s1, $s1, $zero move $s0, $s1 __L76: sne $s0, $s0, $zero bne $s0, $zero, __L77 lb $s1, 0($sp) li $s2, 65 slt $s1, $s1, $s2 seq $s1, $s1, $zero beq $s1, $zero, __L78 lb $s2, 0($sp) li $s3, 90 sgt $s2, $s2, $s3 seq $s2, $s2, $zero sne $s2, $s2, $zero move $s1, $s2 __L78: sne $s1, $s1, $zero move $s0, $s1 __L77: sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl digit digit: addi $sp, $sp, 0 lb $s0, 0($sp) li $s1, 48 slt $s0, $s0, $s1 seq $s0, $s0, $zero beq $s0, $zero, __L80 lb $s1, 0($sp) li $s2, 57 sgt $s1, $s1, $s2 seq $s1, $s1, $zero sne $s1, $s1, $zero move $s0, $s1 __L80: sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl skip_whitespace skip_whitespace: addi $sp, $sp, 0 __L81: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L86 lw $s1, 0($sp) lw $s1, 0($s1) lb $s1, 0($s1) li $s2, 32 seq $s1, $s1, $s2 sne $s1, $s1, $zero bne $s1, $zero, __L87 lw $s2, 0($sp) lw $s2, 0($s2) lb $s2, 0($s2) li $s3, 9 seq $s2, $s2, $s3 sne $s2, $s2, $zero move $s1, $s2 __L87: sne $s1, $s1, $zero bne $s1, $zero, __L88 lw $s2, 0($sp) lw $s2, 0($s2) lb $s2, 0($s2) li $s3, 10 seq $s2, $s2, $s3 sne $s2, $s2, $zero move $s1, $s2 __L88: sne $s1, $s1, $zero move $s0, $s1 __L86: beq $s0, $zero, __L82 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L81 __L82: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl strcmp strcmp: addi $sp, $sp, 0 __L89: lw $s0, 4($sp) lb $s0, 0($s0) beq $s0, $zero, __L92 lw $s1, 4($sp) lb $s1, 0($s1) lw $s2, 0($sp) lb $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L92: beq $s0, $zero, __L90 addi $s0, $sp, 4 lw $s1, 4($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L89 __L90: lw $s0, 0($sp) lb $s0, 0($s0) lw $s1, 4($sp) lb $s1, 0($s1) sub $s0, $s0, $s1 sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra .globl create_variable create_variable: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L94 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 3 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L94: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 12($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 16($sp) addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra .globl get_word get_word: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L96 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L96: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L97: addi $sp, $sp, -24 lw $s0, 24($sp) beq $s0, $zero, __L104 la $s1, alpha sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L105 sw $t0, 12($sp) lw $t0, 28($sp) sw $t0, 4($sp) lw $t0, 4($sp) lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 4($sp) lb $t0, 0($t0) sb $t0, 4($sp) lw $t0, 20($sp) addi $sp, $sp, 4 jr $t0 __L105: addi $sp, $sp, -4 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sne $s1, $s1, $zero bne $s1, $zero, __L106 la $s2, digit sw $s2, 20($sp) sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L107 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 0($sp) lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 0($sp) lb $t0, 0($t0) sb $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L107: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) lw $s2, 20($sp) move $s2, $t0 sne $s2, $s2, $zero move $s1, $s2 __L106: sne $s1, $s1, $zero bne $s1, $zero, __L108 lw $s2, 28($sp) lw $s2, 0($s2) lb $s2, 0($s2) li $s3, 95 seq $s2, $s2, $s3 sne $s2, $s2, $zero move $s1, $s2 __L108: sne $s1, $s1, $zero move $s0, $s1 __L104: addi $sp, $sp, 24 beq $s0, $zero, __L98 lw $s0, 8($sp) lw $s1, 4($sp) lw $s1, 0($s1) lb $s1, 0($s1) sb $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) lw $s1, 4($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L97 __L98: lw $s0, 0($sp) seq $s0, $s0, $zero beq $s0, $zero, __L109 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L109: lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 0 lw $ra, 16($sp) jr $ra .globl order_of_operations order_of_operations: addi $sp, $sp, 0 lw $s0, 0($sp) la $s1, PLUS lw $s1, 0($s1) seq $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L111 lw $s1, 0($sp) la $s2, MINUS lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L111: beq $s0, $zero, __L112 li $s0, 4 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L113 __L112: lw $s0, 0($sp) la $s1, MULTIPLY lw $s1, 0($s1) seq $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L115 lw $s1, 0($sp) la $s2, DIVIDE lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L115: beq $s0, $zero, __L116 li $s0, 5 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L117 __L116: lw $s0, 0($sp) la $s1, EQUALS lw $s1, 0($s1) seq $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L120 lw $s1, 0($sp) la $s2, GREATER_THAN lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L120: sne $s0, $s0, $zero bne $s0, $zero, __L121 lw $s1, 0($sp) la $s2, LESS_THAN lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L121: beq $s0, $zero, __L122 li $s0, 3 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L123 __L122: lw $s0, 0($sp) la $s1, AND lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L124 li $s0, 2 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L125 __L124: lw $s0, 0($sp) la $s1, OR lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L126 li $s0, 1 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra __L126: __L125: __L123: __L117: __L113: li $s0, 0 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl create_token create_token: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L128 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 3 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L128: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 12($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 16($sp) addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra addi $sp, $sp, 4 lw $ra, 16($sp) jr $ra .globl get_int get_int: addi $sp, $sp, -8 lw $s0, 8($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 45 seq $s0, $s0, $s1 beq $s0, $zero, __L129 addi $s0, $sp, 4 li $s1, 1 sw $s1, 0($s0) move $s0, $s1 lw $s0, 8($sp) lw $s1, 8($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L130 __L129: addi $s0, $sp, 4 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L130: addi $s0, $sp, 0 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L131: lw $s0, 8($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 48 slt $s0, $s0, $s1 seq $s0, $s0, $zero beq $s0, $zero, __L134 lw $s1, 8($sp) lw $s1, 0($s1) lb $s1, 0($s1) li $s2, 57 sgt $s1, $s1, $s2 seq $s1, $s1, $zero sne $s1, $s1, $zero move $s0, $s1 __L134: beq $s0, $zero, __L132 addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 10 mult $s1, $s2 mflo $s1 lw $s2, 8($sp) lw $s2, 0($s2) lb $s2, 0($s2) add $s1, $s1, $s2 li $s2, 48 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 lw $s0, 8($sp) lw $s1, 8($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L131 __L132: lw $s0, 4($sp) beq $s0, $zero, __L135 addi $s0, $sp, 0 lw $s1, 0($sp) sub $s1, $zero, $s1 sw $s1, 0($s0) move $s0, $s1 __L135: lw $s0, 0($sp) sw $s0, 12($sp) addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra .globl get_str get_str: addi $sp, $sp, -12 addi $s0, $sp, 8 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 4 lw $s1, 12($sp) lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 __L136: lw $s0, 4($sp) lb $s0, 0($s0) beq $s0, $zero, __L139 lw $s1, 4($sp) lb $s1, 0($s1) li $s2, 34 sne $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L139: beq $s0, $zero, __L137 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 add $s1, $s1, $s2 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 __L136 __L137: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L141 sw $t0, 8($sp) la $t0, CHAR_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $s0, 28($sp) li $s1, 1 add $s0, $s0, $s1 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L141: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 4 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 __L142: lw $s0, 12($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L145 lw $s1, 12($sp) lw $s1, 0($s1) lb $s1, 0($s1) li $s2, 34 sne $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L145: beq $s0, $zero, __L143 lw $s0, 4($sp) lw $s1, 12($sp) lw $s1, 0($s1) lb $s1, 0($s1) sb $s1, 0($s0) move $s0, $s1 lw $s0, 12($sp) lw $s1, 12($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 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 __L142 __L143: lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra .globl get_var get_var: addi $sp, $sp, -8 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L147 sw $t0, 8($sp) li $t0, 32 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L147: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -24 la $s0, get_word sw $s0, 20($sp) la $t0, __L149 sw $t0, 16($sp) lw $t0, 28($sp) sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 4($sp) li $t0, 32 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L149: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L151 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L151: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 91 seq $s0, $s0, $s1 beq $s0, $zero, __L152 lw $s0, 8($sp) lw $s1, 8($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L154 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L154: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 8($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 93 seq $s0, $s0, $s1 beq $s0, $zero, __L155 lw $s0, 8($sp) lw $s1, 8($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L155: j __L156 __L152: addi $s0, $sp, 0 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L156: addi $sp, $sp, -24 la $s0, create_token sw $s0, 20($sp) la $t0, __L158 sw $t0, 16($sp) la $t0, VAR_TOKEN lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 4($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L158: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 sw $s0, 12($sp) addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra .globl get_function get_function: addi $sp, $sp, -52 lw $s0, 52($sp) li $s1, 0 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 16 lw $s1, 56($sp) lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -24 la $s0, get_word sw $s0, 20($sp) la $t0, __L160 sw $t0, 16($sp) addi $t0, $sp, 44 sw $t0, 8($sp) addi $t0, $sp, 40 sw $t0, 4($sp) li $t0, 32 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L160: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L162 sw $t0, 12($sp) addi $t0, $sp, 40 sw $t0, 4($sp) la $t0, __str0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L162: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L163 lw $s0, 56($sp) lw $s1, 16($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L165 sw $t0, 8($sp) lw $t0, 72($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L165: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 56($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 40 seq $s0, $s0, $s1 beq $s0, $zero, __L166 lw $s0, 56($sp) lw $s1, 56($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L167 __L166: li $s0, 0 sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra __L167: addi $sp, $sp, -20 addi $s0, $sp, 32 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L169 sw $t0, 8($sp) lw $t0, 76($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L169: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 56($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 44 seq $s0, $s0, $s1 beq $s0, $zero, __L171 lw $s1, 12($sp) sne $s1, $s1, $zero move $s0, $s1 __L171: beq $s0, $zero, __L172 lw $s0, 56($sp) lw $s1, 56($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L173 __L172: lw $s0, 12($sp) beq $s0, $zero, __L174 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L176 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L176: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L174: lw $s0, 52($sp) li $s1, 1 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra __L173: addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L178 sw $t0, 8($sp) lw $t0, 76($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L178: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 56($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 44 seq $s0, $s0, $s1 beq $s0, $zero, __L180 lw $s1, 8($sp) sne $s1, $s1, $zero move $s0, $s1 __L180: beq $s0, $zero, __L181 lw $s0, 56($sp) lw $s1, 56($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L182 __L181: addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L184 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L184: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) beq $s0, $zero, __L185 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L187 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L187: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L185: lw $s0, 52($sp) li $s1, 1 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra __L182: addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L189 sw $t0, 8($sp) lw $t0, 76($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L189: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 56($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 41 seq $s0, $s0, $s1 beq $s0, $zero, __L191 lw $s1, 4($sp) sne $s1, $s1, $zero move $s0, $s1 __L191: beq $s0, $zero, __L192 lw $s0, 56($sp) lw $s1, 56($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L193 __L192: addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L195 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L195: 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, free_expression sw $s0, 12($sp) la $t0, __L197 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L197: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) beq $s0, $zero, __L198 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L200 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L200: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L198: lw $s0, 52($sp) li $s1, 1 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra __L193: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L202 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 4 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L202: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, SUBSTRING lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 12($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 3 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra j __L203 __L163: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L205 sw $t0, 12($sp) addi $t0, $sp, 40 sw $t0, 4($sp) la $t0, __str1 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L205: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L206 lw $s0, 56($sp) lw $s1, 16($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L208 sw $t0, 8($sp) lw $t0, 72($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L208: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 56($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 40 seq $s0, $s0, $s1 beq $s0, $zero, __L209 lw $s0, 56($sp) lw $s1, 56($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L210 __L209: li $s0, 0 sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra __L210: addi $sp, $sp, -20 addi $s0, $sp, 32 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L212 sw $t0, 8($sp) lw $t0, 76($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L212: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 56($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 41 seq $s0, $s0, $s1 beq $s0, $zero, __L214 lw $s1, 12($sp) sne $s1, $s1, $zero move $s0, $s1 __L214: beq $s0, $zero, __L215 lw $s0, 56($sp) lw $s1, 56($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L216 __L215: lw $s0, 12($sp) beq $s0, $zero, __L217 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L219 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L219: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L217: lw $s0, 52($sp) li $s1, 1 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra __L216: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L221 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L221: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, STRFUNC lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 12($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra j __L222 __L206: li $s0, 0 sw $s0, 60($sp) addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra __L222: __L203: addi $sp, $sp, 52 lw $ra, 12($sp) jr $ra .globl get_value get_value: addi $sp, $sp, -12 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L224 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L224: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 12($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 45 seq $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L227 lw $s1, 12($sp) lw $s1, 0($s1) lb $s1, 0($s1) li $s2, 48 slt $s1, $s1, $s2 seq $s1, $s1, $zero beq $s1, $zero, __L228 lw $s2, 12($sp) lw $s2, 0($s2) lb $s2, 0($s2) li $s3, 57 sgt $s2, $s2, $s3 seq $s2, $s2, $zero sne $s2, $s2, $zero move $s1, $s2 __L228: sne $s1, $s1, $zero move $s0, $s1 __L227: beq $s0, $zero, __L229 addi $sp, $sp, -32 la $s0, create_token sw $s0, 28($sp) la $t0, __L232 sw $t0, 24($sp) la $t0, INT_TOKEN lw $t0, 0($t0) sw $t0, 16($sp) la $t0, get_int sw $t0, 12($sp) la $t0, __L233 sw $t0, 8($sp) lw $t0, 44($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L233: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) li $t0, 0 sw $t0, 8($sp) lw $t0, 28($sp) addi $sp, $sp, 8 jr $t0 __L232: addi $sp, $sp, -8 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra j __L234 __L229: lw $s0, 12($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 40 seq $s0, $s0, $s1 beq $s0, $zero, __L235 lw $s0, 12($sp) lw $s1, 12($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L237 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L237: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 12($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 41 seq $s0, $s0, $s1 beq $s0, $zero, __L238 lw $s0, 12($sp) lw $s1, 12($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L238: lw $s0, 4($sp) sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra j __L239 __L235: addi $sp, $sp, -16 la $s0, alpha sw $s0, 12($sp) la $t0, __L241 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 0($sp) lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 0($sp) lb $t0, 0($t0) sb $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L241: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 beq $s0, $zero, __L242 addi $sp, $sp, -24 addi $s0, $sp, 28 la $s1, get_function sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L244 sw $t0, 12($sp) lw $t0, 36($sp) sw $t0, 4($sp) addi $t0, $sp, 24 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L244: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 lw $s0, 0($sp) beq $s0, $zero, __L245 li $s0, 0 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra __L245: lw $s0, 4($sp) seq $s0, $s0, $zero beq $s0, $zero, __L246 addi $sp, $sp, -16 la $s0, get_var sw $s0, 12($sp) la $t0, __L248 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L248: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra __L246: lw $s0, 4($sp) sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra j __L249 __L242: lw $s0, 12($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 34 seq $s0, $s0, $s1 beq $s0, $zero, __L250 lw $s0, 12($sp) lw $s1, 12($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, get_str sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L252 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L252: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 12($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 34 seq $s0, $s0, $s1 beq $s0, $zero, __L253 lw $s0, 12($sp) lw $s1, 12($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L253: addi $sp, $sp, -24 la $s0, create_token sw $s0, 20($sp) la $t0, __L255 sw $t0, 16($sp) la $t0, STR_TOKEN lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L255: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra __L250: __L249: __L239: __L234: li $s0, 0 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra .globl get_operation get_operation: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L257 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L257: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 43 seq $s0, $s0, $s1 beq $s0, $zero, __L258 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, PLUS lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L259 __L258: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 45 seq $s0, $s0, $s1 beq $s0, $zero, __L260 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, MINUS lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L261 __L260: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 42 seq $s0, $s0, $s1 beq $s0, $zero, __L262 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, MULTIPLY lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L263 __L262: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 47 seq $s0, $s0, $s1 beq $s0, $zero, __L264 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, DIVIDE lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L265 __L264: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 61 seq $s0, $s0, $s1 beq $s0, $zero, __L266 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, EQUALS lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L267 __L266: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 62 seq $s0, $s0, $s1 beq $s0, $zero, __L268 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, GREATER_THAN lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L269 __L268: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 60 seq $s0, $s0, $s1 beq $s0, $zero, __L270 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, LESS_THAN lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L271 __L270: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 33 seq $s0, $s0, $s1 beq $s0, $zero, __L273 lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 lb $s1, 0($s1) li $s2, 61 seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L273: beq $s0, $zero, __L274 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 2 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, NOT_EQUALS lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L275 __L274: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 38 seq $s0, $s0, $s1 beq $s0, $zero, __L276 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, AND lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L277 __L276: lw $s0, 0($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 124 seq $s0, $s0, $s1 beq $s0, $zero, __L278 lw $s0, 0($sp) lw $s1, 0($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 la $s0, OR lw $s0, 0($s0) sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra __L278: __L277: __L275: __L271: __L269: __L267: __L265: __L263: __L261: __L259: li $s0, 0 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl get_expression_recursive get_expression_recursive: addi $sp, $sp, -16 __L279: addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, get_operation sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L282 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L282: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 beq $s0, $zero, __L280 addi $sp, $sp, -20 addi $s0, $sp, 32 la $s1, get_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L284 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L284: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 12($sp) seq $s0, $s0, $zero beq $s0, $zero, __L285 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L287 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L287: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 24($sp) addi $sp, $sp, 16 lw $ra, 12($sp) jr $ra __L285: addi $s0, $sp, 0 lw $s1, 16($sp) lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, get_operation sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L289 sw $t0, 8($sp) addi $t0, $sp, 20 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L289: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 la $s0, order_of_operations sw $s0, 16($sp) la $t0, __L292 sw $t0, 12($sp) lw $t0, 24($sp) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L292: addi $sp, $sp, -4 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 la $s1, order_of_operations sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L293 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L293: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sgt $s0, $s0, $s1 addi $sp, $sp, 20 beq $s0, $zero, __L294 addi $sp, $sp, -24 addi $s0, $sp, 36 la $s1, get_expression_recursive sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L296 sw $t0, 12($sp) lw $t0, 36($sp) sw $t0, 4($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L296: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 __L294: lw $s0, 12($sp) beq $s0, $zero, __L297 addi $sp, $sp, -28 addi $s0, $sp, 48 la $s1, create_token sw $s1, 24($sp) sw $s0, 20($sp) la $t0, __L299 sw $t0, 16($sp) lw $t0, 36($sp) sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 4($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L299: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) lw $s1, 24($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 28 j __L300 __L297: addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L302 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L302: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 24($sp) addi $sp, $sp, 16 lw $ra, 12($sp) jr $ra __L300: j __L279 __L280: lw $s0, 20($sp) sw $s0, 24($sp) addi $sp, $sp, 16 lw $ra, 12($sp) jr $ra addi $sp, $sp, 16 lw $ra, 12($sp) jr $ra .globl get_expression get_expression: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, get_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L304 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L304: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) seq $s0, $s0, $zero beq $s0, $zero, __L305 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L305: addi $sp, $sp, -20 la $s0, get_expression_recursive sw $s0, 16($sp) la $t0, __L307 sw $t0, 12($sp) lw $t0, 20($sp) sw $t0, 4($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L307: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl free_expression free_expression: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L308 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L310 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L310: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L311 __L308: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L312 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L314 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L314: 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, kfree sw $s0, 12($sp) la $t0, __L316 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L316: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L317 __L312: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, VAR_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L318 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L319 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L321 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L321: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L319: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L323 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L323: 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, kfree sw $s0, 12($sp) la $t0, __L325 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L325: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L326 __L318: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, PLUS lw $s1, 0($s1) seq $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L336 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, MINUS lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L336: sne $s0, $s0, $zero bne $s0, $zero, __L337 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, MULTIPLY lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L337: sne $s0, $s0, $zero bne $s0, $zero, __L338 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, DIVIDE lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L338: sne $s0, $s0, $zero bne $s0, $zero, __L339 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, EQUALS lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L339: sne $s0, $s0, $zero bne $s0, $zero, __L340 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, NOT_EQUALS lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L340: sne $s0, $s0, $zero bne $s0, $zero, __L341 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, GREATER_THAN lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L341: sne $s0, $s0, $zero bne $s0, $zero, __L342 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, LESS_THAN lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L342: sne $s0, $s0, $zero bne $s0, $zero, __L343 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, AND lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L343: sne $s0, $s0, $zero bne $s0, $zero, __L344 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, OR lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L344: beq $s0, $zero, __L345 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L347 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L347: 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, free_expression sw $s0, 12($sp) la $t0, __L349 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L349: 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, kfree sw $s0, 12($sp) la $t0, __L351 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L351: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L352 __L345: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, SUBSTRING lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L353 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L355 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L355: 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, free_expression sw $s0, 12($sp) la $t0, __L357 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L357: 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, free_expression sw $s0, 12($sp) la $t0, __L359 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 3 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L359: 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, kfree sw $s0, 12($sp) la $t0, __L361 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L361: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L362 __L353: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STRFUNC lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L363 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L365 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L365: 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, kfree sw $s0, 12($sp) la $t0, __L367 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L367: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L363: __L362: __L352: __L326: __L317: __L311: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl list_expression list_expression: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L368 addi $sp, $sp, -16 la $s0, printd sw $s0, 12($sp) la $t0, __L370 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L370: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L371 __L368: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L372 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L374 sw $t0, 8($sp) la $t0, __str2 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L374: 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, __L376 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L376: 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, __L378 sw $t0, 8($sp) la $t0, __str3 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L378: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L379 __L372: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, VAR_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L380 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L382 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L382: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L383 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L385 sw $t0, 8($sp) la $t0, __str4 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L385: 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, list_expression sw $s0, 12($sp) la $t0, __L387 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L387: 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, __L389 sw $t0, 8($sp) la $t0, __str5 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L389: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L383: j __L390 __L380: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, PLUS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L391 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L393 sw $t0, 8($sp) la $t0, __str6 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L393: 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, list_expression sw $s0, 12($sp) la $t0, __L395 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L395: 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, __L397 sw $t0, 8($sp) la $t0, __str7 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L397: 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, __L399 sw $t0, 8($sp) la $t0, __str8 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L399: 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, list_expression sw $s0, 12($sp) la $t0, __L401 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L401: 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, __L403 sw $t0, 8($sp) la $t0, __str9 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L403: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L404 __L391: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, MINUS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L405 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L407 sw $t0, 8($sp) la $t0, __str10 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L407: 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, list_expression sw $s0, 12($sp) la $t0, __L409 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L409: 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, __L411 sw $t0, 8($sp) la $t0, __str11 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L411: 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, __L413 sw $t0, 8($sp) la $t0, __str12 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L413: 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, list_expression sw $s0, 12($sp) la $t0, __L415 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L415: 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, __L417 sw $t0, 8($sp) la $t0, __str13 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L417: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L418 __L405: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, MULTIPLY lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L419 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L421 sw $t0, 8($sp) la $t0, __str14 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L421: 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, list_expression sw $s0, 12($sp) la $t0, __L423 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L423: 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, __L425 sw $t0, 8($sp) la $t0, __str15 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L425: 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, __L427 sw $t0, 8($sp) la $t0, __str16 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L427: 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, list_expression sw $s0, 12($sp) la $t0, __L429 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L429: 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, __L431 sw $t0, 8($sp) la $t0, __str17 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L431: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L432 __L419: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, DIVIDE lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L433 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L435 sw $t0, 8($sp) la $t0, __str18 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L435: 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, list_expression sw $s0, 12($sp) la $t0, __L437 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L437: 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, __L439 sw $t0, 8($sp) la $t0, __str19 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L439: 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, __L441 sw $t0, 8($sp) la $t0, __str20 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L441: 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, list_expression sw $s0, 12($sp) la $t0, __L443 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L443: 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, __L445 sw $t0, 8($sp) la $t0, __str21 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L445: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L446 __L433: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, EQUALS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L447 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L449 sw $t0, 8($sp) la $t0, __str22 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L449: 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, list_expression sw $s0, 12($sp) la $t0, __L451 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L451: 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, __L453 sw $t0, 8($sp) la $t0, __str23 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L453: 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, __L455 sw $t0, 8($sp) la $t0, __str24 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L455: 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, list_expression sw $s0, 12($sp) la $t0, __L457 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L457: 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, __L459 sw $t0, 8($sp) la $t0, __str25 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L459: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L460 __L447: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, NOT_EQUALS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L461 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L463 sw $t0, 8($sp) la $t0, __str26 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L463: 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, list_expression sw $s0, 12($sp) la $t0, __L465 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L465: 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, __L467 sw $t0, 8($sp) la $t0, __str27 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L467: 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, __L469 sw $t0, 8($sp) la $t0, __str28 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L469: 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, list_expression sw $s0, 12($sp) la $t0, __L471 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L471: 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, __L473 sw $t0, 8($sp) la $t0, __str29 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L473: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L474 __L461: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GREATER_THAN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L475 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L477 sw $t0, 8($sp) la $t0, __str30 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L477: 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, list_expression sw $s0, 12($sp) la $t0, __L479 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L479: 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, __L481 sw $t0, 8($sp) la $t0, __str31 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L481: 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, __L483 sw $t0, 8($sp) la $t0, __str32 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L483: 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, list_expression sw $s0, 12($sp) la $t0, __L485 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L485: 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, __L487 sw $t0, 8($sp) la $t0, __str33 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L487: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L488 __L475: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LESS_THAN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L489 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L491 sw $t0, 8($sp) la $t0, __str34 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L491: 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, list_expression sw $s0, 12($sp) la $t0, __L493 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L493: 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, __L495 sw $t0, 8($sp) la $t0, __str35 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L495: 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, __L497 sw $t0, 8($sp) la $t0, __str36 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L497: 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, list_expression sw $s0, 12($sp) la $t0, __L499 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L499: 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, __L501 sw $t0, 8($sp) la $t0, __str37 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L501: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L502 __L489: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, AND lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L503 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L505 sw $t0, 8($sp) la $t0, __str38 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L505: 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, list_expression sw $s0, 12($sp) la $t0, __L507 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L507: 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, __L509 sw $t0, 8($sp) la $t0, __str39 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L509: 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, __L511 sw $t0, 8($sp) la $t0, __str40 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L511: 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, list_expression sw $s0, 12($sp) la $t0, __L513 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L513: 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, __L515 sw $t0, 8($sp) la $t0, __str41 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L515: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L516 __L503: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, OR lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L517 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L519 sw $t0, 8($sp) la $t0, __str42 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L519: 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, list_expression sw $s0, 12($sp) la $t0, __L521 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L521: 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, __L523 sw $t0, 8($sp) la $t0, __str43 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L523: 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, __L525 sw $t0, 8($sp) la $t0, __str44 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L525: 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, list_expression sw $s0, 12($sp) la $t0, __L527 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L527: 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, __L529 sw $t0, 8($sp) la $t0, __str45 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L529: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L530 __L517: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, SUBSTRING lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L531 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L533 sw $t0, 8($sp) la $t0, __str46 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L533: 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, list_expression sw $s0, 12($sp) la $t0, __L535 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L535: 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, __L537 sw $t0, 8($sp) la $t0, __str47 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L537: 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, list_expression sw $s0, 12($sp) la $t0, __L539 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L539: 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, __L541 sw $t0, 8($sp) la $t0, __str48 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L541: 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, list_expression sw $s0, 12($sp) la $t0, __L543 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 3 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L543: 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, __L545 sw $t0, 8($sp) la $t0, __str49 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L545: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L546 __L531: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STRFUNC lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L547 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L549 sw $t0, 8($sp) la $t0, __str50 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L549: 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, list_expression sw $s0, 12($sp) la $t0, __L551 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L551: 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, __L553 sw $t0, 8($sp) la $t0, __str51 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L553: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L547: __L546: __L530: __L516: __L502: __L488: __L474: __L460: __L446: __L432: __L418: __L404: __L390: __L379: __L371: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_print parse_print: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L555 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L555: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, PRINT lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L557 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L557: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L559 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L559: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L560 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L562 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L562: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L563 __L560: lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L564 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L566 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L566: 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, kfree sw $s0, 12($sp) la $t0, __L568 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L568: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L564: __L563: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_print list_print: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L570 sw $t0, 8($sp) la $t0, __str52 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L570: 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, list_expression sw $s0, 12($sp) la $t0, __L572 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L572: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_input parse_input: addi $sp, $sp, -4 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L574 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L574: 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, alpha sw $s0, 12($sp) la $t0, __L576 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 0($sp) lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 0($sp) lb $t0, 0($t0) sb $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L576: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 16 beq $s0, $zero, __L577 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L577: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L579 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L579: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, INPUT lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_var sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L581 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L581: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L583 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L583: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L584 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L586 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L586: 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, kfree sw $s0, 12($sp) la $t0, __L588 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L588: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L584: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_input list_input: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L590 sw $t0, 8($sp) la $t0, __str53 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L590: 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, list_expression sw $s0, 12($sp) la $t0, __L592 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L592: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_inputstr parse_inputstr: addi $sp, $sp, -4 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L594 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L594: 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, alpha sw $s0, 12($sp) la $t0, __L596 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 0($sp) lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 0($sp) lb $t0, 0($t0) sb $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L596: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 16 beq $s0, $zero, __L597 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L597: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L599 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L599: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, INPUTSTR lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_var sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L601 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L601: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L603 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L603: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L604 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L606 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L606: 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, kfree sw $s0, 12($sp) la $t0, __L608 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L608: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L604: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_inputstr list_inputstr: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L610 sw $t0, 8($sp) la $t0, __str54 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L610: 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, list_expression sw $s0, 12($sp) la $t0, __L612 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L612: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_let parse_let: addi $sp, $sp, -4 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L614 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L614: 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, alpha sw $s0, 12($sp) la $t0, __L616 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 0($sp) lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 0($sp) lb $t0, 0($t0) sb $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L616: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 16 beq $s0, $zero, __L617 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L617: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L619 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 3 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L619: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, LET lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_var sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L621 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L621: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L623 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L623: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 61 sne $s0, $s0, $s1 beq $s0, $zero, __L624 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L626 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L626: 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, kfree sw $s0, 12($sp) la $t0, __L628 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L628: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L624: lw $s0, 4($sp) lw $s1, 4($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L630 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L630: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L632 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L632: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) sne $s0, $s0, $zero bne $s0, $zero, __L634 lw $s1, 0($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) seq $s1, $s1, $zero sne $s1, $s1, $zero move $s0, $s1 __L634: beq $s0, $zero, __L635 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L637 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L637: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L638 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L640 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L640: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L638: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L642 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L642: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L635: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_let list_let: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L644 sw $t0, 8($sp) la $t0, __str55 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L644: 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, list_expression sw $s0, 12($sp) la $t0, __L646 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L646: 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, __L648 sw $t0, 8($sp) la $t0, __str56 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L648: 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, list_expression sw $s0, 12($sp) la $t0, __L650 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L650: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_dim parse_dim: addi $sp, $sp, -4 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L652 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L652: 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, alpha sw $s0, 12($sp) la $t0, __L654 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 0($sp) lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 0($sp) lb $t0, 0($t0) sb $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L654: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 16 beq $s0, $zero, __L655 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L655: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L657 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 3 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L657: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, DIM lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_var sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L659 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L659: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L661 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L661: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) li $s1, 44 sne $s0, $s0, $s1 beq $s0, $zero, __L662 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L664 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L664: 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, kfree sw $s0, 12($sp) la $t0, __L666 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L666: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L662: lw $s0, 4($sp) lw $s1, 4($sp) lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L668 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L668: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L670 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L670: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L672 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L672: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) sne $s0, $s0, $zero bne $s0, $zero, __L674 lw $s1, 0($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) seq $s1, $s1, $zero sne $s1, $s1, $zero move $s0, $s1 __L674: beq $s0, $zero, __L675 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L677 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L677: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L678 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L680 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L680: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L678: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L682 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L682: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L675: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_dim list_dim: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L684 sw $t0, 8($sp) la $t0, __str57 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L684: 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, list_expression sw $s0, 12($sp) la $t0, __L686 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L686: 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, __L688 sw $t0, 8($sp) la $t0, __str58 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L688: 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, list_expression sw $s0, 12($sp) la $t0, __L690 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L690: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_if parse_if: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L692 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L692: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, IF lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L694 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L694: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L696 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L696: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L697 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L699 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L699: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L700 __L697: lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L701 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L703 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L703: 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, kfree sw $s0, 12($sp) la $t0, __L705 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L705: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L701: __L700: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_if list_if: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L707 sw $t0, 8($sp) la $t0, __str59 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L707: 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, list_expression sw $s0, 12($sp) la $t0, __L709 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L709: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_goto parse_goto: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L711 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L711: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, GOTO lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L713 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L713: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L715 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L715: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L716 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L718 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L718: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L719 __L716: lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L720 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L722 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L722: 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, kfree sw $s0, 12($sp) la $t0, __L724 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L724: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L720: __L719: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_goto list_goto: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L726 sw $t0, 8($sp) la $t0, __str60 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L726: 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, list_expression sw $s0, 12($sp) la $t0, __L728 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L728: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_gosub parse_gosub: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L730 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L730: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, GOSUB lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L732 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L732: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L734 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L734: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L735 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L737 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L737: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L738 __L735: lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L739 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L741 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L741: 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, kfree sw $s0, 12($sp) la $t0, __L743 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L743: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L739: __L738: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_gosub list_gosub: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L745 sw $t0, 8($sp) la $t0, __str61 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L745: 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, list_expression sw $s0, 12($sp) la $t0, __L747 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L747: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_while parse_while: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L749 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L749: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, WHILE lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, get_expression sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L751 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L751: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L753 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L753: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L754 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L756 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L756: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L757 __L754: lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L758 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L760 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L760: 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, kfree sw $s0, 12($sp) la $t0, __L762 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L762: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L758: __L757: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_while list_while: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L764 sw $t0, 8($sp) la $t0, __str62 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L764: 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, list_expression sw $s0, 12($sp) la $t0, __L766 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L766: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_run parse_run: addi $sp, $sp, -4 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L768 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L768: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L769 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L769: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L771 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L771: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, RUN lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_run list_run: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L773 sw $t0, 8($sp) la $t0, __str63 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L773: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_end parse_end: addi $sp, $sp, -36 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L775 sw $t0, 8($sp) lw $t0, 52($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L775: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 36($sp) lw $s0, 0($s0) lb $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L776 addi $sp, $sp, -20 addi $s0, $sp, 52 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L778 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L778: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 32 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, END lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 32 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 32($sp) sw $s0, 40($sp) addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra __L776: addi $sp, $sp, -24 la $s0, get_word sw $s0, 20($sp) la $t0, __L780 sw $t0, 16($sp) addi $t0, $sp, 24 sw $t0, 8($sp) lw $t0, 60($sp) sw $t0, 4($sp) li $t0, 32 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L780: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L782 sw $t0, 8($sp) lw $t0, 52($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L782: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 36($sp) lw $s0, 0($s0) lb $s0, 0($s0) beq $s0, $zero, __L783 li $s0, 0 sw $s0, 40($sp) addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra __L783: addi $sp, $sp, -20 addi $s0, $sp, 52 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L785 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L785: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 32 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, END lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L787 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str64 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L787: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L788 addi $s0, $sp, 32 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, IF lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 j __L789 __L788: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L791 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str65 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L791: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L792 addi $s0, $sp, 32 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, WHILE lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 j __L793 __L792: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L795 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L795: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 40($sp) addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra __L793: __L789: lw $s0, 32($sp) sw $s0, 40($sp) addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra .globl list_end list_end: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, IF lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L796 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L798 sw $t0, 8($sp) la $t0, __str66 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L798: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L799 __L796: lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, WHILE lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L800 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L802 sw $t0, 8($sp) la $t0, __str67 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L802: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L803 __L800: addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L805 sw $t0, 8($sp) la $t0, __str68 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L805: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L803: __L799: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_return parse_return: addi $sp, $sp, -4 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L807 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L807: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L808 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L810 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L810: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, RETURN lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L808: li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_return list_return: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L812 sw $t0, 8($sp) la $t0, __str69 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L812: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl parse_list parse_list: addi $sp, $sp, -4 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L814 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L814: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) lw $s0, 0($s0) lb $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L815 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L817 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L817: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, LIST lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L815: li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl list_list list_list: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L819 sw $t0, 8($sp) la $t0, __str70 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L819: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl get_statement get_statement: addi $sp, $sp, -32 addi $sp, $sp, -24 la $s0, get_word sw $s0, 20($sp) la $t0, __L821 sw $t0, 16($sp) addi $t0, $sp, 24 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $t0, 32 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L821: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L823 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str71 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L823: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L824 addi $sp, $sp, -16 la $s0, parse_print sw $s0, 12($sp) la $t0, __L826 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L826: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L827 __L824: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L829 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str72 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L829: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L830 addi $sp, $sp, -16 la $s0, parse_input sw $s0, 12($sp) la $t0, __L832 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L832: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L833 __L830: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L835 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str73 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L835: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L836 addi $sp, $sp, -16 la $s0, parse_inputstr sw $s0, 12($sp) la $t0, __L838 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L838: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L839 __L836: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L841 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str74 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L841: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L842 addi $sp, $sp, -16 la $s0, parse_run sw $s0, 12($sp) la $t0, __L844 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L844: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L845 __L842: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L847 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str75 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L847: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L848 addi $sp, $sp, -16 la $s0, parse_end sw $s0, 12($sp) la $t0, __L850 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L850: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L851 __L848: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L853 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str76 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L853: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L854 addi $sp, $sp, -16 la $s0, parse_if sw $s0, 12($sp) la $t0, __L856 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L856: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L857 __L854: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L859 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str77 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L859: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L860 addi $sp, $sp, -16 la $s0, parse_while sw $s0, 12($sp) la $t0, __L862 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L862: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L863 __L860: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L865 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str78 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L865: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L866 addi $sp, $sp, -16 la $s0, parse_let sw $s0, 12($sp) la $t0, __L868 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L868: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L869 __L866: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L871 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str79 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L871: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L872 addi $sp, $sp, -16 la $s0, parse_dim sw $s0, 12($sp) la $t0, __L874 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L874: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L875 __L872: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L877 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str80 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L877: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L878 addi $sp, $sp, -16 la $s0, parse_goto sw $s0, 12($sp) la $t0, __L880 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L880: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L881 __L878: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L883 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str81 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L883: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L884 addi $sp, $sp, -16 la $s0, parse_gosub sw $s0, 12($sp) la $t0, __L886 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L886: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L887 __L884: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L889 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str82 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L889: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L890 addi $sp, $sp, -16 la $s0, parse_return sw $s0, 12($sp) la $t0, __L892 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L892: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L893 __L890: addi $sp, $sp, -20 la $s0, strcmp sw $s0, 16($sp) la $t0, __L895 sw $t0, 12($sp) addi $t0, $sp, 20 sw $t0, 4($sp) la $t0, __str83 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L895: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 20 beq $s0, $zero, __L896 addi $sp, $sp, -16 la $s0, parse_list sw $s0, 12($sp) la $t0, __L898 sw $t0, 8($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L898: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra j __L899 __L896: li $s0, 0 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra __L899: __L893: __L887: __L881: __L875: __L869: __L863: __L857: __L851: __L845: __L839: __L833: __L827: addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra .globl free_statement free_statement: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, PRINT lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L900 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L902 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L902: 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, kfree sw $s0, 12($sp) la $t0, __L904 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L904: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L905 __L900: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INPUT lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L906 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) li $s1, 2 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) beq $s0, $zero, __L907 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L909 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L909: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L907: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L911 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L911: 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, kfree sw $s0, 12($sp) la $t0, __L913 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L913: 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, kfree sw $s0, 12($sp) la $t0, __L915 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L915: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L916 __L906: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, RUN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L917 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L919 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L919: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L920 __L917: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, END lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L921 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L923 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L923: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L924 __L921: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, IF lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L925 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L927 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L927: 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, kfree sw $s0, 12($sp) la $t0, __L929 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L929: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L930 __L925: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, WHILE lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L931 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L933 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L933: 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, kfree sw $s0, 12($sp) la $t0, __L935 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L935: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L936 __L931: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LET lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L937 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L939 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L939: 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, free_expression sw $s0, 12($sp) la $t0, __L941 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L941: 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, kfree sw $s0, 12($sp) la $t0, __L943 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L943: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L944 __L937: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, DIM lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L945 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L947 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L947: 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, free_expression sw $s0, 12($sp) la $t0, __L949 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L949: 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, kfree sw $s0, 12($sp) la $t0, __L951 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L951: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L952 __L945: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GOTO lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L953 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L955 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L955: 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, kfree sw $s0, 12($sp) la $t0, __L957 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L957: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L958 __L953: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GOSUB lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L959 addi $sp, $sp, -16 la $s0, free_expression sw $s0, 12($sp) la $t0, __L961 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L961: 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, kfree sw $s0, 12($sp) la $t0, __L963 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L963: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L964 __L959: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LIST lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L965 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L967 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L967: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L965: __L964: __L958: __L952: __L944: __L936: __L930: __L924: __L920: __L916: __L905: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .data __str84: .asciiz "\n" __str85: .asciiz " " __str86: .asciiz "\n" __str87: .asciiz "SYNTAX ERROR" __str88: .asciiz "\n>: " __str89: .asciiz "SYNTAX ERROR" __str90: .asciiz "RUNTIME ERROR" .text .data .align 2 variables: .space 4 .text .data .align 2 statement_list: .space 4 .text .data .align 2 ERR_VAL: .space 4 .text .data .align 2 INT_VAL: .space 4 .text .data .align 2 STR_VAL: .space 4 .text .data .align 2 do_end: .space 4 .text .data .align 2 do_if: .space 4 .text .data .align 2 do_while: .space 4 .text .data .align 2 do_skip_if: .space 4 .text .data .align 2 do_skip_while: .space 4 .text .data .align 2 do_gosub: .space 4 .text .data .align 2 do_goto: .space 4 .text .data .align 2 do_return: .space 4 .text .data .align 2 goto_label: .space 4 .text .data .align 2 gosubs: .space 128 .text .data .align 2 current_gosub: .space 4 .text .globl create_value create_value: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L969 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L969: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl create_statement_entry create_statement_entry: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L971 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) li $s0, 2 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L971: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl free_statement_entry free_statement_entry: addi $sp, $sp, 0 addi $sp, $sp, -16 la $s0, free_statement sw $s0, 12($sp) la $t0, __L973 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L973: 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, kfree sw $s0, 12($sp) la $t0, __L975 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L975: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl free_value free_value: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L976 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L978 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L978: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L976: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L980 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L980: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl strlen strlen: addi $sp, $sp, -4 addi $s0, $sp, 0 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L981: lw $s0, 4($sp) lb $s0, 0($s0) beq $s0, $zero, __L982 addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 add $s1, $s1, $s2 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 __L981 __L982: lw $s0, 0($sp) sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl strcpy strcpy: addi $sp, $sp, 0 __L983: lw $s0, 0($sp) lb $s0, 0($s0) beq $s0, $zero, __L984 lw $s0, 4($sp) lw $s1, 0($sp) lb $s1, 0($s1) sb $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 addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L983 __L984: lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra .globl strncpy strncpy: addi $sp, $sp, 0 __L985: lw $s0, 0($sp) beq $s0, $zero, __L988 lw $s1, 4($sp) lb $s1, 0($s1) sne $s1, $s1, $zero move $s0, $s1 __L988: beq $s0, $zero, __L986 lw $s0, 8($sp) lw $s1, 4($sp) lb $s1, 0($s1) sb $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 add $s1, $s1, $s2 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 addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L985 __L986: lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 0 lw $ra, 16($sp) jr $ra .globl duplicate_str duplicate_str: addi $sp, $sp, -12 addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, strlen sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L990 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L990: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L992 sw $t0, 8($sp) la $t0, CHAR_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $s0, 28($sp) li $s1, 1 add $s0, $s0, $s1 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L992: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 4 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L993: lw $s0, 4($sp) lw $s1, 8($sp) slt $s0, $s0, $s1 beq $s0, $zero, __L994 j __L995 __L996: addi $s0, $sp, 4 lw $s1, 4($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L993 __L995: addi $s0, $sp, 0 lw $s0, 0($s0) lw $s1, 4($sp) add $s0, $s0, $s1 lw $s1, 12($sp) lw $s2, 4($sp) add $s1, $s1, $s2 lb $s1, 0($s1) sb $s1, 0($s0) move $s0, $s1 j __L996 __L994: addi $s0, $sp, 0 lw $s0, 0($s0) lw $s1, 8($sp) add $s0, $s0, $s1 li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra .globl concat concat: addi $sp, $sp, -16 addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, strlen sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L998 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L998: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, strlen sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1000 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1000: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1002 sw $t0, 8($sp) la $t0, CHAR_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $s0, 28($sp) lw $s1, 24($sp) add $s0, $s0, $s1 li $s1, 1 add $s0, $s0, $s1 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1002: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 12 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1003: lw $s0, 12($sp) lw $s1, 8($sp) slt $s0, $s0, $s1 beq $s0, $zero, __L1004 j __L1005 __L1006: addi $s0, $sp, 12 lw $s1, 12($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L1003 __L1005: addi $s0, $sp, 0 lw $s0, 0($s0) lw $s1, 12($sp) add $s0, $s0, $s1 lw $s1, 20($sp) lw $s2, 12($sp) add $s1, $s1, $s2 lb $s1, 0($s1) sb $s1, 0($s0) move $s0, $s1 j __L1006 __L1004: addi $s0, $sp, 12 lw $s1, 8($sp) sw $s1, 0($s0) move $s0, $s1 __L1007: lw $s0, 12($sp) lw $s1, 8($sp) lw $s2, 4($sp) add $s1, $s1, $s2 slt $s0, $s0, $s1 beq $s0, $zero, __L1008 j __L1009 __L1010: addi $s0, $sp, 12 lw $s1, 12($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L1007 __L1009: addi $s0, $sp, 0 lw $s0, 0($s0) lw $s1, 12($sp) add $s0, $s0, $s1 lw $s1, 16($sp) lw $s2, 12($sp) lw $s3, 8($sp) sub $s2, $s2, $s3 add $s1, $s1, $s2 lb $s1, 0($s1) sb $s1, 0($s0) move $s0, $s1 j __L1010 __L1008: addi $s0, $sp, 0 lw $s0, 0($s0) lw $s1, 12($sp) add $s0, $s0, $s1 li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) sw $s0, 24($sp) addi $sp, $sp, 16 lw $ra, 12($sp) jr $ra addi $sp, $sp, 16 lw $ra, 12($sp) jr $ra .globl add_values add_values: addi $sp, $sp, -4 lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1012 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1012: beq $s0, $zero, __L1013 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1015 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1015: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1016 __L1013: lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1018 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, STR_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1018: beq $s0, $zero, __L1019 addi $sp, $sp, -24 addi $s0, $sp, 24 la $s1, concat sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1021 sw $t0, 12($sp) lw $t0, 32($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 28($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1021: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L1023 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1023: 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, kfree sw $s0, 12($sp) la $t0, __L1025 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1025: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1026 __L1019: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1028 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1028: 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, free_value sw $s0, 12($sp) la $t0, __L1030 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1030: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -24 addi $s0, $sp, 32 la $s1, create_value sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1032 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1032: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra __L1026: __L1016: addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl subtract_values subtract_values: addi $sp, $sp, -4 lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1034 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1034: beq $s0, $zero, __L1035 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1037 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1037: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1038 __L1035: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1040 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1040: 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, free_value sw $s0, 12($sp) la $t0, __L1042 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1042: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -24 addi $s0, $sp, 32 la $s1, create_value sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1044 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1044: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra __L1038: addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl multiply_values multiply_values: addi $sp, $sp, -4 lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1046 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1046: beq $s0, $zero, __L1047 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) mult $s1, $s2 mflo $s1 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1049 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1049: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1050 __L1047: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1052 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1052: 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, free_value sw $s0, 12($sp) la $t0, __L1054 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1054: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -24 addi $s0, $sp, 32 la $s1, create_value sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1056 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1056: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra __L1050: addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl divide_values divide_values: addi $sp, $sp, -4 lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1058 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1058: beq $s0, $zero, __L1059 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 8($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) div $s1, $s2 mflo $s1 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1061 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1061: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1062 __L1059: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1064 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1064: 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, free_value sw $s0, 12($sp) la $t0, __L1066 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1066: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -24 addi $s0, $sp, 32 la $s1, create_value sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1068 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1068: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra __L1062: addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl equals_values equals_values: addi $sp, $sp, -4 lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1070 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1070: beq $s0, $zero, __L1071 addi $s0, $sp, 0 lw $s1, 8($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) seq $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1073 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1073: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1074 __L1071: lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1076 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, STR_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1076: beq $s0, $zero, __L1077 addi $sp, $sp, -24 addi $s0, $sp, 24 la $s1, strcmp sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1079 sw $t0, 12($sp) lw $t0, 32($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 28($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1079: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 seq $s1, $s1, $zero sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L1081 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1081: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, INT_VAL lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1083 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1083: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1084 __L1077: lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, ERR_VAL lw $s1, 0($s1) sne $s0, $s0, $s1 beq $s0, $zero, __L1086 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, ERR_VAL lw $s2, 0($s2) sne $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1086: beq $s0, $zero, __L1087 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1089 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1089: 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, free_value sw $s0, 12($sp) la $t0, __L1091 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1091: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1093 sw $t0, 12($sp) la $t0, INT_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1093: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1094 __L1087: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1096 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1096: 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, free_value sw $s0, 12($sp) la $t0, __L1098 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1098: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1100 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1100: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra __L1094: __L1084: __L1074: addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl not_equals_values not_equals_values: addi $sp, $sp, -4 lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1102 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1102: beq $s0, $zero, __L1103 addi $s0, $sp, 0 lw $s1, 8($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) sne $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1105 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1105: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1106 __L1103: lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1108 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, STR_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1108: beq $s0, $zero, __L1109 addi $sp, $sp, -24 addi $s0, $sp, 24 la $s1, strcmp sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1111 sw $t0, 12($sp) lw $t0, 32($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 28($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1111: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 seq $s1, $s1, $zero seq $s1, $s1, $zero sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L1113 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1113: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, INT_VAL lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 8 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1115 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1115: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1116 __L1109: lw $s0, 8($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, ERR_VAL lw $s1, 0($s1) sne $s0, $s0, $s1 beq $s0, $zero, __L1118 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, ERR_VAL lw $s2, 0($s2) sne $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1118: beq $s0, $zero, __L1119 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1121 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1121: 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, free_value sw $s0, 12($sp) la $t0, __L1123 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1123: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1125 sw $t0, 12($sp) la $t0, INT_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 1 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1125: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra j __L1126 __L1119: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1128 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1128: 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, free_value sw $s0, 12($sp) la $t0, __L1130 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1130: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1132 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1132: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 12($sp) addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra __L1126: __L1116: __L1106: addi $sp, $sp, 4 lw $ra, 12($sp) jr $ra .globl greater_than_values greater_than_values: addi $sp, $sp, 0 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1134 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1134: beq $s0, $zero, __L1135 addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 0($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) sgt $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1137 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1137: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra j __L1138 __L1135: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1140 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1140: 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, free_value sw $s0, 12($sp) la $t0, __L1142 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1142: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1144 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1144: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra __L1138: addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra .globl less_than_values less_than_values: addi $sp, $sp, 0 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1146 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1146: beq $s0, $zero, __L1147 addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 0($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) slt $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1149 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1149: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra j __L1150 __L1147: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1152 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1152: 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, free_value sw $s0, 12($sp) la $t0, __L1154 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1154: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1156 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1156: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra __L1150: addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra .globl and_values and_values: addi $sp, $sp, 0 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1158 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1158: beq $s0, $zero, __L1159 addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) beq $s1, $zero, __L1161 lw $s2, 0($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) sne $s2, $s2, $zero move $s1, $s2 __L1161: sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1163 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1163: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra j __L1164 __L1159: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1166 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1166: 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, free_value sw $s0, 12($sp) la $t0, __L1168 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1168: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1170 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1170: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra __L1164: addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra .globl or_values or_values: addi $sp, $sp, 0 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1172 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1172: beq $s0, $zero, __L1173 addi $s0, $sp, 4 lw $s0, 0($s0) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sne $s1, $s1, $zero bne $s1, $zero, __L1175 lw $s2, 0($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) sne $s2, $s2, $zero move $s1, $s2 __L1175: sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1177 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1177: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 4($sp) sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra j __L1178 __L1173: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1180 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1180: 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, free_value sw $s0, 12($sp) la $t0, __L1182 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1182: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1184 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1184: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 8($sp) addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra __L1178: addi $sp, $sp, 0 lw $ra, 12($sp) jr $ra .globl strfunc strfunc: addi $sp, $sp, -36 addi $s0, $sp, 28 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 36($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1185 addi $s0, $sp, 32 lw $s1, 36($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 4 li $s1, 15 add $s0, $s0, $s1 li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 20 addi $s1, $sp, 4 li $s2, 14 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 lw $s0, 32($sp) li $s1, 0 slt $s0, $s0, $s1 beq $s0, $zero, __L1186 addi $s0, $sp, 32 lw $s1, 32($sp) sub $s1, $zero, $s1 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 28 li $s1, 1 sw $s1, 0($s0) move $s0, $s1 __L1186: lw $s0, 32($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1187 lw $s0, 20($sp) li $s1, 48 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 20 lw $s1, 20($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L1188 __L1187: __L1189: lw $s0, 32($sp) beq $s0, $zero, __L1190 addi $s0, $sp, 0 lw $s1, 32($sp) li $s2, 10 div $s1, $s2 mfhi $s1 li $s2, 48 add $s1, $s1, $s2 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 lw $s0, 20($sp) lb $s1, 0($sp) sb $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 20 lw $s1, 20($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 32 lw $s1, 32($sp) li $s2, 10 div $s1, $s2 mflo $s1 sw $s1, 0($s0) move $s0, $s1 j __L1189 __L1190: __L1188: lw $s0, 28($sp) beq $s0, $zero, __L1191 lw $s0, 20($sp) li $s1, 45 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 20 lw $s1, 20($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L1191: addi $sp, $sp, -20 addi $s0, $sp, 44 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1193 sw $t0, 8($sp) la $t0, CHAR_SIZE lw $t0, 0($t0) sw $t0, 0($sp) addi $s0, $sp, 24 lw $s1, 40($sp) sub $s0, $s0, $s1 li $s1, 16 add $s0, $s0, $s1 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1193: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 la $s0, strcpy sw $s0, 16($sp) la $t0, __L1195 sw $t0, 12($sp) lw $t0, 44($sp) sw $t0, 4($sp) lw $t0, 40($sp) sw $t0, 0($sp) li $s0, 1 lw $t0, 0($sp) add $t0, $t0, $s0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1195: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1197 sw $t0, 8($sp) lw $t0, 52($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1197: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1199 sw $t0, 12($sp) la $t0, STR_VAL lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 44($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1199: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 40($sp) addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra j __L1200 __L1185: lw $s0, 36($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1201 lw $s0, 36($sp) sw $s0, 40($sp) addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra j __L1202 __L1201: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1204 sw $t0, 8($sp) lw $t0, 52($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1204: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1206 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1206: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 40($sp) addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra __L1202: __L1200: addi $sp, $sp, 36 lw $ra, 8($sp) jr $ra .globl substring substring: addi $sp, $sp, -20 lw $s0, 28($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1209 lw $s1, 24($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1209: beq $s0, $zero, __L1210 lw $s1, 20($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1210: beq $s0, $zero, __L1211 addi $s0, $sp, 4 lw $s1, 28($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, strlen sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1213 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1213: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 16 lw $s1, 24($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 12 lw $s1, 20($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 16($sp) li $s1, 0 slt $s0, $s0, $s1 beq $s0, $zero, __L1214 addi $s0, $sp, 16 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1214: lw $s0, 16($sp) lw $s1, 8($sp) slt $s0, $s0, $s1 seq $s0, $s0, $zero beq $s0, $zero, __L1215 addi $s0, $sp, 16 lw $s1, 8($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L1215: lw $s0, 12($sp) li $s1, 0 slt $s0, $s0, $s1 beq $s0, $zero, __L1216 addi $s0, $sp, 12 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1216: lw $s0, 12($sp) lw $s1, 8($sp) slt $s0, $s0, $s1 seq $s0, $s0, $zero beq $s0, $zero, __L1217 addi $s0, $sp, 12 lw $s1, 8($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L1217: lw $s0, 16($sp) lw $s1, 12($sp) sgt $s0, $s0, $s1 beq $s0, $zero, __L1218 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1220 sw $t0, 8($sp) lw $t0, 44($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1220: 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, free_value sw $s0, 12($sp) la $t0, __L1222 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1222: 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, free_value sw $s0, 12($sp) la $t0, __L1224 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1224: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1226 sw $t0, 8($sp) la $t0, CHAR_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1226: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1228 sw $t0, 12($sp) la $t0, STR_VAL lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1228: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 32($sp) addi $sp, $sp, 20 lw $ra, 16($sp) jr $ra j __L1229 __L1218: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1231 sw $t0, 8($sp) la $t0, CHAR_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $s0, 32($sp) lw $s1, 36($sp) sub $s0, $s0, $s1 li $s1, 2 add $s0, $s0, $s1 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1231: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -24 la $s0, strncpy sw $s0, 20($sp) la $t0, __L1233 sw $t0, 16($sp) lw $t0, 24($sp) sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 4($sp) lw $s0, 40($sp) lw $t0, 4($sp) add $t0, $t0, $s0 sw $t0, 4($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $s0, 40($sp) lw $t0, 0($sp) sub $t0, $t0, $s0 sw $t0, 0($sp) li $s0, 1 lw $t0, 0($sp) add $t0, $t0, $s0 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1233: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1235 sw $t0, 8($sp) lw $t0, 44($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1235: 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, free_value sw $s0, 12($sp) la $t0, __L1237 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1237: 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, free_value sw $s0, 12($sp) la $t0, __L1239 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1239: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1241 sw $t0, 12($sp) la $t0, STR_VAL lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1241: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 32($sp) addi $sp, $sp, 20 lw $ra, 16($sp) jr $ra __L1229: j __L1242 __L1211: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1244 sw $t0, 8($sp) lw $t0, 44($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1244: 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, free_value sw $s0, 12($sp) la $t0, __L1246 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1246: 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, free_value sw $s0, 12($sp) la $t0, __L1248 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1248: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1250 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1250: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 32($sp) addi $sp, $sp, 20 lw $ra, 16($sp) jr $ra __L1242: addi $sp, $sp, 20 lw $ra, 16($sp) jr $ra .globl evaluate evaluate: addi $sp, $sp, -24 lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1251 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1253 sw $t0, 12($sp) la $t0, INT_VAL lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 44($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1253: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1254 __L1251: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1255 addi $sp, $sp, -32 la $s0, create_value sw $s0, 28($sp) la $t0, __L1258 sw $t0, 24($sp) la $t0, STR_VAL lw $t0, 0($t0) sw $t0, 16($sp) la $t0, duplicate_str sw $t0, 12($sp) la $t0, __L1259 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1259: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1258: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1260 __L1255: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, PLUS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1261 addi $sp, $sp, -32 la $s0, add_values sw $s0, 28($sp) la $t0, __L1265 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1266 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1266: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1267 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1267: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1265: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1268 __L1261: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, MINUS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1269 addi $sp, $sp, -32 la $s0, subtract_values sw $s0, 28($sp) la $t0, __L1273 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1274 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1274: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1275 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1275: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1273: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1276 __L1269: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, MULTIPLY lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1277 addi $sp, $sp, -32 la $s0, multiply_values sw $s0, 28($sp) la $t0, __L1281 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1282 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1282: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1283 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1283: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1281: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1284 __L1277: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, DIVIDE lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1285 addi $sp, $sp, -32 la $s0, divide_values sw $s0, 28($sp) la $t0, __L1289 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1290 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1290: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1291 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1291: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1289: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1292 __L1285: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, EQUALS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1293 addi $sp, $sp, -32 la $s0, equals_values sw $s0, 28($sp) la $t0, __L1297 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1298 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1298: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1299 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1299: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1297: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1300 __L1293: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, NOT_EQUALS lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1301 addi $sp, $sp, -32 la $s0, not_equals_values sw $s0, 28($sp) la $t0, __L1305 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1306 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1306: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1307 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1307: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1305: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1308 __L1301: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GREATER_THAN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1309 addi $sp, $sp, -32 la $s0, greater_than_values sw $s0, 28($sp) la $t0, __L1313 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1314 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1314: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1315 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1315: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1313: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1316 __L1309: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LESS_THAN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1317 addi $sp, $sp, -32 la $s0, less_than_values sw $s0, 28($sp) la $t0, __L1321 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1322 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1322: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1323 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1323: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1321: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1324 __L1317: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, OR lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1325 addi $sp, $sp, -32 la $s0, or_values sw $s0, 28($sp) la $t0, __L1329 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1330 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1330: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1331 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1331: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1329: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1332 __L1325: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, AND lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1333 addi $sp, $sp, -32 la $s0, and_values sw $s0, 28($sp) la $t0, __L1337 sw $t0, 24($sp) la $t0, evaluate sw $t0, 16($sp) la $t0, __L1338 sw $t0, 12($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 16($sp) addi $sp, $sp, 4 jr $t0 __L1338: addi $sp, $sp, -4 lw $t0, 8($sp) sw $t0, 16($sp) la $t0, evaluate sw $t0, 12($sp) la $t0, __L1339 sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1339: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1337: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1340 __L1333: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, VAR_TOKEN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1341 addi $sp, $sp, -28 addi $s0, $sp, 48 la $s1, read_dictionary sw $s1, 24($sp) sw $s0, 20($sp) la $t0, __L1343 sw $t0, 16($sp) la $t0, variables lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 52($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L1343: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) lw $s1, 24($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 28 lw $s0, 20($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1344 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1346 sw $t0, 12($sp) la $t0, INT_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1346: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra __L1344: addi $s0, $sp, 16 lw $s1, 24($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 16($sp) beq $s0, $zero, __L1347 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1349 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1349: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1350 addi $s0, $sp, 12 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 j __L1351 __L1350: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1353 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1353: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1355 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1355: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra __L1351: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1357 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1357: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 8 lw $s1, 20($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 12($sp) lw $s1, 8($sp) slt $s0, $s0, $s1 seq $s0, $s0, $zero sne $s0, $s0, $zero bne $s0, $zero, __L1359 lw $s1, 12($sp) li $s2, 0 slt $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1359: beq $s0, $zero, __L1360 addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1362 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1362: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra __L1360: j __L1363 __L1347: addi $s0, $sp, 12 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1363: addi $s0, $sp, 0 lw $s1, 20($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 12($sp) sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1364 addi $sp, $sp, -32 la $s0, create_value sw $s0, 28($sp) la $t0, __L1367 sw $t0, 24($sp) lw $t0, 32($sp) sw $t0, 16($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 16($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 16($sp) la $t0, duplicate_str sw $t0, 12($sp) la $t0, __L1368 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1368: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1367: addi $sp, $sp, -12 lw $t0, 20($sp) lw $s0, 28($sp) move $s0, $t0 addi $sp, $sp, 32 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra j __L1369 __L1364: addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1371 sw $t0, 12($sp) lw $t0, 20($sp) sw $t0, 4($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 20($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1371: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra __L1369: j __L1372 __L1341: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, SUBSTRING lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1373 addi $sp, $sp, -24 addi $s0, $sp, 20 lw $s1, 48($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 16 lw $s1, 48($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 12 lw $s1, 48($sp) li $s2, 3 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1375 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1375: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1377 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1377: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1379 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1379: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -24 la $s0, substring sw $s0, 20($sp) la $t0, __L1381 sw $t0, 16($sp) lw $t0, 32($sp) sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 4($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1381: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) move $s0, $t0 addi $sp, $sp, 24 sw $s0, 52($sp) addi $sp, $sp, 48 lw $ra, 8($sp) jr $ra addi $sp, $sp, 24 j __L1382 __L1373: lw $s0, 24($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STRFUNC lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1383 addi $sp, $sp, -8 addi $s0, $sp, 4 lw $s1, 32($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1385 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1385: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, strfunc sw $s0, 12($sp) la $t0, __L1387 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1387: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 36($sp) addi $sp, $sp, 32 lw $ra, 8($sp) jr $ra addi $sp, $sp, 8 j __L1388 __L1383: addi $sp, $sp, -20 la $s0, create_value sw $s0, 16($sp) la $t0, __L1390 sw $t0, 12($sp) la $t0, ERR_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1390: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 sw $s0, 28($sp) addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra __L1388: __L1382: __L1372: __L1340: __L1332: __L1324: __L1316: __L1308: __L1300: __L1292: __L1284: __L1276: __L1268: __L1260: __L1254: addi $sp, $sp, 24 lw $ra, 8($sp) jr $ra .globl print_value print_value: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1391 addi $sp, $sp, -16 la $s0, printd sw $s0, 12($sp) la $t0, __L1393 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1393: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1394 __L1391: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, STR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1395 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L1397 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1397: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L1395: __L1394: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl run_print run_print: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1399 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1399: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, print_value sw $s0, 12($sp) la $t0, __L1401 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1401: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, ERR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1402 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1404 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1404: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L1405 __L1402: addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L1407 sw $t0, 8($sp) la $t0, __str84 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1407: 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, free_value sw $s0, 12($sp) la $t0, __L1409 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1409: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1405: addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl run_if run_if: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1411 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1411: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, ERR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1412 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1414 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1414: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L1415 __L1412: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) sne $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L1418 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 beq $s1, $zero, __L1419 lw $s2, 0($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) sne $s2, $s2, $zero move $s1, $s2 __L1419: sne $s1, $s1, $zero move $s0, $s1 __L1418: beq $s0, $zero, __L1420 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1422 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1422: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L1423 __L1420: la $s0, do_skip_if li $s1, 1 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1425 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1425: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1423: __L1415: addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl run_goto run_goto: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1427 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1427: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) sne $s0, $s0, $s1 beq $s0, $zero, __L1428 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1430 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1430: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1428: la $s0, goto_label lw $s1, 0($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1432 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1432: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 la $s0, do_goto li $s1, 1 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl run_gosub run_gosub: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1434 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1434: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) sne $s0, $s0, $s1 beq $s0, $zero, __L1435 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1437 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1437: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1435: la $s0, goto_label lw $s1, 0($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1439 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1439: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 la $s0, do_gosub li $s1, 1 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl run_return run_return: addi $sp, $sp, 0 la $s0, do_return li $s1, 1 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl run_while run_while: addi $sp, $sp, -4 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1441 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1441: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, ERR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1442 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1444 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1444: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L1445 __L1442: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) sne $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L1448 lw $s1, 0($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) la $s2, INT_VAL lw $s2, 0($s2) seq $s1, $s1, $s2 beq $s1, $zero, __L1449 lw $s2, 0($sp) li $s3, 1 sll $s3, $s3, 2 add $s2, $s2, $s3 lw $s2, 0($s2) sne $s2, $s2, $zero move $s1, $s2 __L1449: sne $s1, $s1, $zero move $s0, $s1 __L1448: beq $s0, $zero, __L1450 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1452 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1452: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L1453 __L1450: la $s0, do_skip_while li $s1, 1 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1455 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1455: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1453: __L1445: addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl set_var set_var: addi $sp, $sp, -28 addi $sp, $sp, -28 addi $s0, $sp, 52 la $s1, read_dictionary sw $s1, 24($sp) sw $s0, 20($sp) la $t0, __L1457 sw $t0, 16($sp) la $t0, variables lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 60($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L1457: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) lw $s1, 24($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 28 lw $s0, 24($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1458 addi $s0, $sp, 20 lw $s1, 32($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 20($sp) beq $s0, $zero, __L1459 addi $sp, $sp, -20 addi $s0, $sp, 36 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1461 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1461: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 16($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1462 addi $s0, $sp, 4 lw $s1, 16($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 j __L1463 __L1462: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1465 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1465: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 36($sp) addi $sp, $sp, 28 lw $ra, 12($sp) jr $ra __L1463: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1467 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1467: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1468 __L1459: addi $s0, $sp, 4 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1468: lw $s0, 4($sp) li $s1, 0 sne $s0, $s0, $s1 beq $s0, $zero, __L1469 li $s0, 1 sw $s0, 36($sp) addi $sp, $sp, 28 lw $ra, 12($sp) jr $ra __L1469: addi $sp, $sp, -20 addi $s0, $sp, 32 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1471 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1471: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 12 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 28($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -44 la $s0, write_dictionary sw $s0, 40($sp) la $t0, __L1474 sw $t0, 36($sp) la $t0, variables lw $t0, 0($t0) sw $t0, 28($sp) lw $t0, 76($sp) sw $t0, 24($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 24($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 24($sp) la $t0, create_variable sw $t0, 20($sp) la $t0, __L1475 sw $t0, 16($sp) la $t0, INTVAR lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 56($sp) sw $t0, 4($sp) li $t0, 1 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1475: addi $sp, $sp, 0 lw $t0, 12($sp) sw $t0, 20($sp) li $t0, 0 sw $t0, 16($sp) lw $t0, 16($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 16($sp) lw $t0, 40($sp) addi $sp, $sp, 16 jr $t0 __L1474: addi $sp, $sp, -16 lw $t0, 32($sp) lw $s0, 40($sp) move $s0, $t0 addi $sp, $sp, 44 j __L1476 __L1458: addi $s0, $sp, 20 lw $s1, 32($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 20($sp) beq $s0, $zero, __L1477 addi $sp, $sp, -20 addi $s0, $sp, 36 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1479 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1479: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 16($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1480 addi $s0, $sp, 4 lw $s1, 16($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 j __L1481 __L1480: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1483 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1483: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 36($sp) addi $sp, $sp, 28 lw $ra, 12($sp) jr $ra __L1481: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1485 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1485: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1486 __L1477: addi $s0, $sp, 4 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1486: addi $s0, $sp, 0 lw $s1, 24($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) lw $s1, 0($sp) slt $s0, $s0, $s1 seq $s0, $s0, $zero sne $s0, $s0, $zero bne $s0, $zero, __L1488 lw $s1, 4($sp) li $s2, 0 slt $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1488: beq $s0, $zero, __L1489 li $s0, 1 sw $s0, 36($sp) addi $sp, $sp, 28 lw $ra, 12($sp) jr $ra __L1489: addi $s0, $sp, 8 lw $s1, 24($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 4($sp) sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1491 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1491: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 24($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) lw $s1, 4($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 28($sp) sw $s1, 0($s0) move $s0, $s1 __L1476: li $s0, 0 sw $s0, 36($sp) addi $sp, $sp, 28 lw $ra, 12($sp) jr $ra addi $sp, $sp, 28 lw $ra, 12($sp) jr $ra .globl del_var del_var: addi $sp, $sp, -16 addi $sp, $sp, -28 addi $s0, $sp, 40 la $s1, read_dictionary sw $s1, 24($sp) sw $s0, 20($sp) la $t0, __L1493 sw $t0, 16($sp) la $t0, variables lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 44($sp) sw $t0, 4($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 4($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L1493: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) lw $s1, 24($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 28 lw $s0, 12($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1494 addi $sp, $sp, 16 lw $ra, 8($sp) jr $ra __L1494: addi $s0, $sp, 8 lw $s1, 12($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 0 lw $s1, 12($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 4 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1495: lw $s0, 4($sp) lw $s1, 0($sp) slt $s0, $s0, $s1 beq $s0, $zero, __L1496 j __L1497 __L1498: addi $s0, $sp, 4 lw $s1, 4($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L1495 __L1497: addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1500 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $s0, 20($sp) sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1500: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1498 __L1496: addi $sp, $sp, -16 la $s0, kfree sw $s0, 12($sp) la $t0, __L1502 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1502: 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, kfree sw $s0, 12($sp) la $t0, __L1504 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1504: 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, write_dictionary sw $s0, 24($sp) la $t0, __L1506 sw $t0, 20($sp) la $t0, variables lw $t0, 0($t0) sw $t0, 12($sp) lw $t0, 44($sp) sw $t0, 8($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 8($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 8($sp) li $t0, 0 sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L1506: addi $sp, $sp, 0 lw $t0, 16($sp) lw $s0, 24($sp) move $s0, $t0 addi $sp, $sp, 28 addi $sp, $sp, 16 lw $ra, 8($sp) jr $ra .globl run_dim run_dim: addi $sp, $sp, -28 addi $s0, $sp, 24 lw $s1, 28($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 20 lw $s1, 28($sp) li $s2, 2 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 36 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1508 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1508: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 16($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INT_VAL lw $s1, 0($s1) sne $s0, $s0, $s1 sne $s0, $s0, $zero bne $s0, $zero, __L1510 lw $s1, 16($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) li $s2, 1 slt $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1510: beq $s0, $zero, __L1511 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1513 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1513: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 32($sp) addi $sp, $sp, 28 lw $ra, 8($sp) jr $ra __L1511: addi $sp, $sp, -16 la $s0, del_var sw $s0, 12($sp) la $t0, __L1515 sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1515: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $s0, $sp, 4 lw $s1, 16($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1517 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1517: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 addi $s0, $sp, 32 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1519 sw $t0, 8($sp) la $t0, POINTER_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $s0, 24($sp) lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1519: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1520: lw $s0, 0($sp) lw $s1, 4($sp) slt $s0, $s0, $s1 beq $s0, $zero, __L1521 j __L1522 __L1523: addi $s0, $sp, 0 lw $s1, 0($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L1520 __L1522: addi $sp, $sp, -24 addi $s0, $sp, 36 lw $s0, 0($s0) lw $s1, 24($sp) sll $s1, $s1, 2 add $s0, $s0, $s1 la $s1, create_value sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1525 sw $t0, 12($sp) la $t0, INT_VAL lw $t0, 0($t0) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1525: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 j __L1523 __L1521: addi $sp, $sp, -28 addi $s0, $sp, 36 la $s1, create_variable sw $s1, 24($sp) sw $s0, 20($sp) la $t0, __L1527 sw $t0, 16($sp) la $t0, INTVAR lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 40($sp) sw $t0, 4($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L1527: addi $sp, $sp, 0 lw $t0, 12($sp) lw $s0, 20($sp) lw $s1, 24($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 28 addi $sp, $sp, -28 la $s0, write_dictionary sw $s0, 24($sp) la $t0, __L1529 sw $t0, 20($sp) la $t0, variables lw $t0, 0($t0) sw $t0, 12($sp) lw $t0, 52($sp) sw $t0, 8($sp) li $s0, 1 sll $s0, $s0, 2 lw $t0, 8($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 4($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 0($sp) sll $t0, $t0, 24 sra $t0, $t0, 24 sw $t0, 0($sp) lw $t0, 24($sp) addi $sp, $sp, 0 jr $t0 __L1529: addi $sp, $sp, 0 lw $t0, 16($sp) lw $s0, 24($sp) move $s0, $t0 addi $sp, $sp, 28 li $s0, 0 sw $s0, 32($sp) addi $sp, $sp, 28 lw $ra, 8($sp) jr $ra addi $sp, $sp, 28 lw $ra, 8($sp) jr $ra .globl run_input run_input: addi $sp, $sp, -12 addi $sp, $sp, -16 addi $s0, $sp, 24 la $s1, inputd sw $s1, 12($sp) sw $s0, 8($sp) la $t0, __L1531 sw $t0, 4($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1531: 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 $s0, $sp, 4 lw $s1, 12($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -24 addi $s0, $sp, 24 la $s1, create_value sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1533 sw $t0, 12($sp) la $t0, INT_VAL lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1533: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 addi $sp, $sp, -20 la $s0, set_var sw $s0, 16($sp) la $t0, __L1535 sw $t0, 12($sp) lw $t0, 24($sp) sw $t0, 4($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1535: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 beq $s0, $zero, __L1536 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1538 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1538: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra __L1536: li $s0, 0 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra .globl run_inputstr run_inputstr: addi $sp, $sp, -272 addi $sp, $sp, -20 la $s0, inputs sw $s0, 16($sp) la $t0, __L1540 sw $t0, 12($sp) addi $t0, $sp, 36 sw $t0, 4($sp) li $t0, 256 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1540: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $sp, $sp, -20 addi $s0, $sp, 32 la $s1, strlen sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1542 sw $t0, 8($sp) addi $t0, $sp, 36 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1542: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 12($sp) beq $s0, $zero, __L1543 addi $s0, $sp, 16 lw $s1, 12($sp) li $s2, 1 sub $s1, $s1, $s2 add $s0, $s0, $s1 li $s1, 0 sll $s1, $s1, 24 sra $s1, $s1, 24 sb $s1, 0($s0) move $s0, $s1 addi $s0, $sp, 12 lw $s1, 12($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L1543: addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, kmalloc sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1545 sw $t0, 8($sp) la $t0, CHAR_SIZE lw $t0, 0($t0) sw $t0, 0($sp) lw $s0, 32($sp) li $s1, 1 add $s0, $s0, $s1 lw $t0, 0($sp) mult $t0, $s0 mflo $t0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1545: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 la $s0, strcpy sw $s0, 16($sp) la $t0, __L1547 sw $t0, 12($sp) lw $t0, 28($sp) sw $t0, 4($sp) addi $t0, $sp, 36 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1547: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $s0, $sp, 4 lw $s1, 272($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -24 addi $s0, $sp, 24 la $s1, create_value sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1549 sw $t0, 12($sp) la $t0, STR_VAL lw $t0, 0($t0) sw $t0, 4($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1549: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 addi $sp, $sp, -20 la $s0, set_var sw $s0, 16($sp) la $t0, __L1551 sw $t0, 12($sp) lw $t0, 24($sp) sw $t0, 4($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1551: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 beq $s0, $zero, __L1552 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1554 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1554: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 276($sp) addi $sp, $sp, 272 lw $ra, 8($sp) jr $ra __L1552: li $s0, 0 sw $s0, 276($sp) addi $sp, $sp, 272 lw $ra, 8($sp) jr $ra addi $sp, $sp, 272 lw $ra, 8($sp) jr $ra .globl run_let run_let: addi $sp, $sp, -12 addi $s0, $sp, 8 lw $s1, 12($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, evaluate sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1556 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) li $s0, 2 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1556: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, ERR_VAL lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1557 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1559 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1559: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra __L1557: addi $sp, $sp, -20 la $s0, set_var sw $s0, 16($sp) la $t0, __L1561 sw $t0, 12($sp) lw $t0, 28($sp) sw $t0, 4($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1561: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 beq $s0, $zero, __L1562 addi $sp, $sp, -16 la $s0, free_value sw $s0, 12($sp) la $t0, __L1564 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1564: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 li $s0, 1 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra __L1562: li $s0, 0 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra .globl run_end run_end: addi $sp, $sp, -4 addi $s0, $sp, 0 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1565 la $s0, do_end li $s1, 1 sw $s1, 0($s0) move $s0, $s1 j __L1566 __L1565: lw $s0, 0($sp) la $s1, WHILE lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1567 la $s0, do_while li $s1, 1 sw $s1, 0($s0) move $s0, $s1 j __L1568 __L1567: lw $s0, 0($sp) la $s1, IF lw $s1, 0($s1) sne $s0, $s0, $s1 beq $s0, $zero, __L1569 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1569: __L1568: __L1566: li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl skip_to_end skip_to_end: addi $sp, $sp, -12 addi $s0, $sp, 8 li $s1, 1 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1571 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1571: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) beq $s0, $zero, __L1572 addi $s0, $sp, 16 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 __L1572: __L1573: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1576 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1576: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 beq $s0, $zero, __L1574 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, get_list_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1578 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1578: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 4($sp) beq $s0, $zero, __L1579 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) lw $s1, 12($sp) seq $s0, $s0, $s1 beq $s0, $zero, __L1580 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L1581 __L1580: lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, END lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1583 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 12($sp) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1583: beq $s0, $zero, __L1584 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L1584: __L1581: lw $s0, 8($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1585 lw $s0, 16($sp) sw $s0, 20($sp) addi $sp, $sp, 12 lw $ra, 12($sp) jr $ra __L1585: __L1579: addi $s0, $sp, 16 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 j __L1573 __L1574: lw $s0, 16($sp) sw $s0, 20($sp) addi $sp, $sp, 12 lw $ra, 12($sp) jr $ra addi $sp, $sp, 12 lw $ra, 12($sp) jr $ra .globl seek seek: addi $sp, $sp, -12 addi $s0, $sp, 8 li $s1, 1 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 36 la $s1, previous_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1587 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1587: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L1588: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, previous_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1592 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1592: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 beq $s0, $zero, __L1593 lw $s1, 28($sp) sne $s1, $s1, $zero move $s0, $s1 __L1593: addi $sp, $sp, 20 beq $s0, $zero, __L1589 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, get_list_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1595 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1595: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, END lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1597 lw $s1, 4($sp) li $s2, 0 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) lw $s2, 12($sp) seq $s1, $s1, $s2 sne $s1, $s1, $zero move $s0, $s1 __L1597: beq $s0, $zero, __L1598 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 j __L1599 __L1598: lw $s0, 4($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) lw $s1, 12($sp) seq $s0, $s0, $s1 beq $s0, $zero, __L1600 addi $s0, $sp, 8 lw $s1, 8($sp) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 __L1600: __L1599: lw $s0, 8($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1601 addi $sp, $sp, -16 la $s0, previous_list sw $s0, 12($sp) la $t0, __L1603 sw $t0, 8($sp) lw $t0, 32($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1603: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 20($sp) addi $sp, $sp, 12 lw $ra, 12($sp) jr $ra __L1601: addi $s0, $sp, 16 lw $s1, 0($sp) sw $s1, 0($s0) move $s0, $s1 j __L1588 __L1589: li $s0, 0 sw $s0, 20($sp) addi $sp, $sp, 12 lw $ra, 12($sp) jr $ra addi $sp, $sp, 12 lw $ra, 12($sp) jr $ra .globl seek_goto seek_goto: addi $sp, $sp, -8 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1605 sw $t0, 8($sp) la $t0, statement_list lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1605: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L1606: lw $s0, 4($sp) beq $s0, $zero, __L1607 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, get_list_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1609 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1609: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) lw $s1, 8($sp) seq $s0, $s0, $s1 beq $s0, $zero, __L1610 lw $s0, 4($sp) sw $s0, 12($sp) addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra __L1610: addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1612 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1612: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 j __L1606 __L1607: li $s0, 0 sw $s0, 12($sp) addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra .globl run_program run_program: addi $sp, $sp, -4 __L1613: lw $s0, 4($sp) beq $s0, $zero, __L1614 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, get_list_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1616 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1616: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, run_statement sw $s0, 12($sp) la $t0, __L1618 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1618: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 beq $s0, $zero, __L1619 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1619: la $s0, do_end lw $s0, 0($s0) beq $s0, $zero, __L1620 la $s0, do_end li $s1, 0 sw $s1, 0($s0) move $s0, $s1 li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra j __L1621 __L1620: la $s0, do_skip_if lw $s0, 0($s0) beq $s0, $zero, __L1622 addi $sp, $sp, -24 addi $s0, $sp, 28 la $s1, skip_to_end sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1624 sw $t0, 12($sp) lw $t0, 28($sp) sw $t0, 4($sp) la $t0, IF lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1624: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 la $s0, do_skip_if li $s1, 0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, next_list sw $s0, 12($sp) la $t0, __L1626 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1626: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 16 beq $s0, $zero, __L1627 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1627: j __L1628 __L1622: la $s0, do_skip_while lw $s0, 0($s0) beq $s0, $zero, __L1629 addi $sp, $sp, -24 addi $s0, $sp, 28 la $s1, skip_to_end sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1631 sw $t0, 12($sp) lw $t0, 28($sp) sw $t0, 4($sp) la $t0, WHILE lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1631: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 la $s0, do_skip_while li $s1, 0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, next_list sw $s0, 12($sp) la $t0, __L1633 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1633: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 seq $s0, $s0, $zero addi $sp, $sp, 16 beq $s0, $zero, __L1634 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1634: j __L1635 __L1629: la $s0, do_while lw $s0, 0($s0) beq $s0, $zero, __L1636 addi $sp, $sp, -24 addi $s0, $sp, 28 la $s1, seek sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1638 sw $t0, 12($sp) lw $t0, 28($sp) sw $t0, 4($sp) la $t0, WHILE lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1638: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 la $s0, do_while li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1639 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1639: j __L1640 __L1636: la $s0, do_goto lw $s0, 0($s0) beq $s0, $zero, __L1641 addi $sp, $sp, -32 addi $s0, $sp, 36 la $s1, previous_list sw $s1, 28($sp) sw $s0, 24($sp) la $t0, __L1644 sw $t0, 20($sp) la $t0, seek_goto sw $t0, 12($sp) la $t0, __L1645 sw $t0, 8($sp) la $t0, goto_label lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1645: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1644: addi $sp, $sp, -12 lw $t0, 16($sp) lw $s0, 24($sp) lw $s1, 28($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 32 la $s0, do_goto li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1646 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1646: j __L1647 __L1641: la $s0, do_gosub lw $s0, 0($s0) beq $s0, $zero, __L1648 la $s0, current_gosub lw $s0, 0($s0) li $s1, 32 slt $s0, $s0, $s1 beq $s0, $zero, __L1649 la $s0, gosubs la $s1, current_gosub lw $s1, 0($s1) sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s1, 0($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 la $s0, current_gosub la $s1, current_gosub lw $s1, 0($s1) li $s2, 1 add $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -32 addi $s0, $sp, 36 la $s1, previous_list sw $s1, 28($sp) sw $s0, 24($sp) la $t0, __L1652 sw $t0, 20($sp) la $t0, seek_goto sw $t0, 12($sp) la $t0, __L1653 sw $t0, 8($sp) la $t0, goto_label lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1653: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 28($sp) addi $sp, $sp, 12 jr $t0 __L1652: addi $sp, $sp, -12 lw $t0, 16($sp) lw $s0, 24($sp) lw $s1, 28($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 32 la $s0, do_gosub li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1654 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1654: j __L1655 __L1649: li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1655: j __L1656 __L1648: la $s0, do_return lw $s0, 0($s0) beq $s0, $zero, __L1657 la $s0, current_gosub lw $s0, 0($s0) beq $s0, $zero, __L1658 la $s0, current_gosub la $s1, current_gosub lw $s1, 0($s1) li $s2, 1 sub $s1, $s1, $s2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, seek_goto sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1660 sw $t0, 8($sp) la $t0, gosubs sw $t0, 0($sp) la $s0, current_gosub lw $s0, 0($s0) sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1660: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 la $s0, do_return li $s1, 0 sw $s1, 0($s0) move $s0, $s1 lw $s0, 4($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1661 li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1661: j __L1662 __L1658: li $s0, 1 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra __L1662: __L1657: __L1656: __L1647: __L1640: __L1635: __L1628: __L1621: addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1664 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1664: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 j __L1613 __L1614: li $s0, 0 sw $s0, 8($sp) addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra addi $sp, $sp, 4 lw $ra, 8($sp) jr $ra .globl run_statement run_statement: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, PRINT lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1665 addi $sp, $sp, -16 la $s0, run_print sw $s0, 12($sp) la $t0, __L1667 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1667: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1668 __L1665: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INPUT lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1669 addi $sp, $sp, -16 la $s0, run_input sw $s0, 12($sp) la $t0, __L1671 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1671: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1672 __L1669: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INPUTSTR lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1673 addi $sp, $sp, -16 la $s0, run_inputstr sw $s0, 12($sp) la $t0, __L1675 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1675: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1676 __L1673: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, RUN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1677 addi $sp, $sp, -28 la $s0, run_program sw $s0, 24($sp) la $t0, __L1680 sw $t0, 20($sp) la $t0, next_list sw $t0, 12($sp) la $t0, __L1681 sw $t0, 8($sp) la $t0, statement_list lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1681: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 24($sp) addi $sp, $sp, 12 jr $t0 __L1680: addi $sp, $sp, -12 lw $t0, 16($sp) lw $s0, 24($sp) move $s0, $t0 addi $sp, $sp, 28 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1682 __L1677: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, END lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1683 addi $sp, $sp, -16 la $s0, run_end sw $s0, 12($sp) la $t0, __L1685 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1685: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1686 __L1683: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, IF lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1687 addi $sp, $sp, -16 la $s0, run_if sw $s0, 12($sp) la $t0, __L1689 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1689: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1690 __L1687: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, WHILE lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1691 addi $sp, $sp, -16 la $s0, run_while sw $s0, 12($sp) la $t0, __L1693 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1693: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1694 __L1691: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LET lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1695 addi $sp, $sp, -16 la $s0, run_let sw $s0, 12($sp) la $t0, __L1697 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1697: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1698 __L1695: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, DIM lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1699 addi $sp, $sp, -16 la $s0, run_dim sw $s0, 12($sp) la $t0, __L1701 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1701: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1702 __L1699: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GOTO lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1703 addi $sp, $sp, -16 la $s0, run_goto sw $s0, 12($sp) la $t0, __L1705 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1705: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1706 __L1703: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GOSUB lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1707 addi $sp, $sp, -16 la $s0, run_gosub sw $s0, 12($sp) la $t0, __L1709 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1709: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1710 __L1707: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, RETURN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1711 addi $sp, $sp, -16 la $s0, run_return sw $s0, 12($sp) la $t0, __L1713 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1713: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1714 __L1711: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LIST lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1715 addi $sp, $sp, -16 la $s0, run_list sw $s0, 12($sp) la $t0, __L1717 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1717: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra j __L1718 __L1715: li $s0, 1 sw $s0, 4($sp) addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra __L1718: __L1714: __L1710: __L1706: __L1702: __L1698: __L1694: __L1690: __L1686: __L1682: __L1676: __L1672: __L1668: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl list_statement list_statement: addi $sp, $sp, 0 lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, PRINT lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1719 addi $sp, $sp, -16 la $s0, list_print sw $s0, 12($sp) la $t0, __L1721 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1721: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1722 __L1719: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INPUT lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1723 addi $sp, $sp, -16 la $s0, list_input sw $s0, 12($sp) la $t0, __L1725 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1725: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1726 __L1723: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, INPUTSTR lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1727 addi $sp, $sp, -16 la $s0, list_inputstr sw $s0, 12($sp) la $t0, __L1729 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1729: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1730 __L1727: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, RUN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1731 addi $sp, $sp, -28 la $s0, list_run sw $s0, 24($sp) la $t0, __L1734 sw $t0, 20($sp) la $t0, next_list sw $t0, 12($sp) la $t0, __L1735 sw $t0, 8($sp) la $t0, statement_list lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1735: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) lw $t0, 24($sp) addi $sp, $sp, 12 jr $t0 __L1734: addi $sp, $sp, -12 lw $t0, 16($sp) lw $s0, 24($sp) move $s0, $t0 addi $sp, $sp, 28 j __L1736 __L1731: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, END lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1737 addi $sp, $sp, -16 la $s0, list_end sw $s0, 12($sp) la $t0, __L1739 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1739: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1740 __L1737: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, IF lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1741 addi $sp, $sp, -16 la $s0, list_if sw $s0, 12($sp) la $t0, __L1743 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1743: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1744 __L1741: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, WHILE lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1745 addi $sp, $sp, -16 la $s0, list_while sw $s0, 12($sp) la $t0, __L1747 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1747: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1748 __L1745: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LET lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1749 addi $sp, $sp, -16 la $s0, list_let sw $s0, 12($sp) la $t0, __L1751 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1751: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1752 __L1749: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, DIM lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1753 addi $sp, $sp, -16 la $s0, list_dim sw $s0, 12($sp) la $t0, __L1755 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1755: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1756 __L1753: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GOTO lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1757 addi $sp, $sp, -16 la $s0, list_goto sw $s0, 12($sp) la $t0, __L1759 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1759: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1760 __L1757: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, GOSUB lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1761 addi $sp, $sp, -16 la $s0, list_gosub sw $s0, 12($sp) la $t0, __L1763 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1763: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1764 __L1761: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, RETURN lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1765 addi $sp, $sp, -16 la $s0, list_return sw $s0, 12($sp) la $t0, __L1767 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1767: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1768 __L1765: lw $s0, 0($sp) li $s1, 0 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) la $s1, LIST lw $s1, 0($s1) seq $s0, $s0, $s1 beq $s0, $zero, __L1769 addi $sp, $sp, -16 la $s0, list_list sw $s0, 12($sp) la $t0, __L1771 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1771: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L1769: __L1768: __L1764: __L1760: __L1756: __L1752: __L1748: __L1744: __L1740: __L1736: __L1730: __L1726: __L1722: addi $sp, $sp, 0 lw $ra, 8($sp) jr $ra .globl remove_line remove_line: addi $sp, $sp, -8 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1773 sw $t0, 8($sp) la $t0, statement_list lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1773: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L1774: lw $s0, 4($sp) beq $s0, $zero, __L1775 addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, get_list_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1777 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1777: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) li $s1, 1 sll $s1, $s1, 2 add $s0, $s0, $s1 lw $s0, 0($s0) lw $s1, 8($sp) seq $s0, $s0, $s1 beq $s0, $zero, __L1778 addi $sp, $sp, -16 la $s0, free_statement sw $s0, 12($sp) la $t0, __L1780 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1780: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, remove_value sw $s0, 16($sp) la $t0, __L1782 sw $t0, 12($sp) lw $t0, 24($sp) sw $t0, 4($sp) la $t0, kfree sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1782: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra __L1778: addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1784 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1784: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 j __L1774 __L1775: addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra .globl run_list run_list: addi $sp, $sp, -12 addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1786 sw $t0, 8($sp) la $t0, statement_list lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1786: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L1787: lw $s0, 8($sp) beq $s0, $zero, __L1788 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, get_list_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1790 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1790: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s1, 4($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, printd sw $s0, 12($sp) la $t0, __L1792 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1792: 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, __L1794 sw $t0, 8($sp) la $t0, __str85 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1794: 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, list_statement sw $s0, 12($sp) la $t0, __L1796 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) li $s0, 0 sll $s0, $s0, 2 lw $t0, 0($sp) add $t0, $t0, $s0 lw $t0, 0($t0) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1796: 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, __L1798 sw $t0, 8($sp) la $t0, __str86 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1798: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 addi $s0, $sp, 28 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1800 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1800: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 j __L1787 __L1788: li $s0, 0 sw $s0, 16($sp) addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra addi $sp, $sp, 12 lw $ra, 8($sp) jr $ra .globl insert_statement insert_statement: addi $sp, $sp, -24 addi $sp, $sp, -24 addi $s0, $sp, 32 la $s1, create_statement_entry sw $s1, 20($sp) sw $s0, 16($sp) la $t0, __L1802 sw $t0, 12($sp) lw $t0, 52($sp) sw $t0, 4($sp) lw $t0, 48($sp) sw $t0, 0($sp) lw $t0, 20($sp) addi $sp, $sp, 0 jr $t0 __L1802: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) lw $s1, 20($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 24 addi $s0, $sp, 4 la $s1, statement_list lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 36 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1804 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1804: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 __L1805: lw $s0, 16($sp) beq $s0, $zero, __L1806 addi $sp, $sp, -20 addi $s0, $sp, 32 la $s1, get_list_value sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1808 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1808: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $s0, $sp, 0 lw $s1, 12($sp) li $s2, 1 sll $s2, $s2, 2 add $s1, $s1, $s2 lw $s1, 0($s1) sw $s1, 0($s0) move $s0, $s1 lw $s0, 0($sp) lw $s1, 24($sp) sgt $s0, $s0, $s1 beq $s0, $zero, __L1809 addi $sp, $sp, -20 la $s0, add_value sw $s0, 16($sp) la $t0, __L1811 sw $t0, 12($sp) lw $t0, 24($sp) sw $t0, 4($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1811: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $sp, $sp, 24 lw $ra, 12($sp) jr $ra j __L1812 __L1809: lw $s0, 0($sp) lw $s1, 24($sp) seq $s0, $s0, $s1 beq $s0, $zero, __L1813 addi $sp, $sp, -20 la $s0, remove_value sw $s0, 16($sp) la $t0, __L1815 sw $t0, 12($sp) lw $t0, 36($sp) sw $t0, 4($sp) la $t0, free_statement_entry sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1815: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $sp, $sp, -20 la $s0, add_value sw $s0, 16($sp) la $t0, __L1817 sw $t0, 12($sp) lw $t0, 24($sp) sw $t0, 4($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1817: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $sp, $sp, 24 lw $ra, 12($sp) jr $ra __L1813: __L1812: addi $s0, $sp, 4 lw $s1, 16($sp) sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -20 addi $s0, $sp, 36 la $s1, next_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1819 sw $t0, 8($sp) lw $t0, 36($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1819: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 j __L1805 __L1806: addi $sp, $sp, -20 la $s0, add_value sw $s0, 16($sp) la $t0, __L1821 sw $t0, 12($sp) lw $t0, 24($sp) sw $t0, 4($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1821: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $sp, $sp, 24 lw $ra, 12($sp) jr $ra .globl add_statement add_statement: addi $sp, $sp, -8 addi $sp, $sp, -20 addi $s0, $sp, 24 la $s1, get_int sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1823 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1823: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L1825 sw $t0, 8($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1825: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 lw $s0, 8($sp) lw $s0, 0($s0) lb $s0, 0($s0) seq $s0, $s0, $zero beq $s0, $zero, __L1826 addi $sp, $sp, -16 la $s0, remove_line sw $s0, 12($sp) la $t0, __L1828 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1828: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra __L1826: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, get_statement sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1830 sw $t0, 8($sp) lw $t0, 28($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1830: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) beq $s0, $zero, __L1831 addi $sp, $sp, -20 la $s0, insert_statement sw $s0, 16($sp) la $t0, __L1833 sw $t0, 12($sp) lw $t0, 20($sp) sw $t0, 4($sp) lw $t0, 24($sp) sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1833: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 j __L1834 __L1831: addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L1836 sw $t0, 8($sp) la $t0, __str87 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1836: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L1834: addi $sp, $sp, 8 lw $ra, 8($sp) jr $ra .globl entry entry: addi $sp, $sp, -264 la $s0, ERR_VAL li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, INT_VAL li $s1, 1 sw $s1, 0($s0) move $s0, $s1 la $s0, STR_VAL li $s1, 2 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -28 la $s0, kmalloc_init sw $s0, 24($sp) la $t0, __L1839 sw $t0, 20($sp) la $t0, malloc sw $t0, 12($sp) la $t0, __L1840 sw $t0, 8($sp) li $t0, 32000 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1840: addi $sp, $sp, 0 lw $t0, 4($sp) sw $t0, 12($sp) li $t0, 32000 sw $t0, 8($sp) lw $t0, 24($sp) addi $sp, $sp, 8 jr $t0 __L1839: addi $sp, $sp, -8 lw $t0, 16($sp) lw $s0, 24($sp) move $s0, $t0 addi $sp, $sp, 28 addi $sp, $sp, -20 la $s0, variables la $s1, create_dictionary sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1842 sw $t0, 8($sp) li $t0, 0 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1842: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -20 la $s0, statement_list la $s1, create_linked_list sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1844 sw $t0, 8($sp) la $t0, ERR_VAL sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1844: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 addi $sp, $sp, -12 la $s0, init_tokens sw $s0, 8($sp) la $t0, __L1846 sw $t0, 4($sp) lw $t0, 8($sp) addi $sp, $sp, 0 jr $t0 __L1846: addi $sp, $sp, 0 lw $t0, 0($sp) lw $s0, 8($sp) move $s0, $t0 addi $sp, $sp, 12 la $s0, do_end li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, do_if li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, do_while li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, do_skip_if li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, do_skip_while li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, do_goto li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, do_gosub li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, do_return li $s1, 0 sw $s1, 0($s0) move $s0, $s1 la $s0, current_gosub li $s1, 0 sw $s1, 0($s0) move $s0, $s1 __L1847: li $s0, 1 beq $s0, $zero, __L1848 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L1850 sw $t0, 8($sp) la $t0, __str88 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1850: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 addi $sp, $sp, -20 la $s0, inputs sw $s0, 16($sp) la $t0, __L1852 sw $t0, 12($sp) addi $t0, $sp, 28 sw $t0, 4($sp) li $t0, 256 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1852: addi $sp, $sp, 0 lw $t0, 8($sp) lw $s0, 16($sp) move $s0, $t0 addi $sp, $sp, 20 addi $s0, $sp, 4 addi $s1, $sp, 8 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, -16 la $s0, skip_whitespace sw $s0, 12($sp) la $t0, __L1854 sw $t0, 8($sp) addi $t0, $sp, 20 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1854: 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, digit sw $s0, 12($sp) la $t0, __L1856 sw $t0, 8($sp) lw $t0, 20($sp) sw $t0, 0($sp) lw $t0, 0($sp) lb $t0, 0($t0) sb $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1856: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 beq $s0, $zero, __L1857 addi $sp, $sp, -16 la $s0, add_statement sw $s0, 12($sp) la $t0, __L1859 sw $t0, 8($sp) addi $t0, $sp, 20 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1859: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1860 __L1857: addi $sp, $sp, -20 addi $s0, $sp, 20 la $s1, get_statement sw $s1, 16($sp) sw $s0, 12($sp) la $t0, __L1862 sw $t0, 8($sp) addi $t0, $sp, 24 sw $t0, 0($sp) lw $t0, 16($sp) addi $sp, $sp, 0 jr $t0 __L1862: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) lw $s1, 16($sp) move $s1, $t0 sw $s1, 0($s0) move $s0, $s1 addi $sp, $sp, 20 lw $s0, 0($sp) seq $s0, $s0, $zero beq $s0, $zero, __L1863 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L1865 sw $t0, 8($sp) la $t0, __str89 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1865: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 j __L1866 __L1863: addi $sp, $sp, -16 la $s0, run_statement sw $s0, 12($sp) la $t0, __L1868 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1868: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 beq $s0, $zero, __L1869 addi $sp, $sp, -16 la $s0, prints sw $s0, 12($sp) la $t0, __L1871 sw $t0, 8($sp) la $t0, __str90 sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1871: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L1869: addi $sp, $sp, -16 la $s0, free_statement sw $s0, 12($sp) la $t0, __L1873 sw $t0, 8($sp) lw $t0, 16($sp) sw $t0, 0($sp) lw $t0, 12($sp) addi $sp, $sp, 0 jr $t0 __L1873: addi $sp, $sp, 0 lw $t0, 4($sp) lw $s0, 12($sp) move $s0, $t0 addi $sp, $sp, 16 __L1866: __L1860: j __L1847 __L1848: addi $sp, $sp, 264 lw $ra, 4($sp) jr $ra