.file 1 "utils.c" .set nobopt .text .align 2 .globl sein .ent sein sein: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 li $2,-2147483648 # 0xffffffff80000000 ori $4,$2,0x4 ori $3,$2,0x8 $L2: lbu $2,0($3) andi $2,$2,0x10 beq $2,$0,$L2 lbu $2,0($4) sll $2,$2,24 .set noreorder .set nomacro j $31 sra $2,$2,24 .set macro .set reorder .end sein .align 2 .globl saus .ent saus saus: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 li $2,-2147483648 # 0xffffffff80000000 sll $4,$4,24 sra $4,$4,24 ori $5,$2,0x4 ori $3,$2,0x8 $L6: lbu $2,0($3) andi $2,$2,0x2 bne $2,$0,$L6 sb $4,0($5) j $31 .end saus .align 2 .globl sputs .ent sputs sputs: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 addiu $sp,$sp,-32 sw $17,20($sp) sw $16,16($sp) sw $31,24($sp) move $16,$4 lb $4,0($4) .set noreorder .set nomacro j $L14 move $17,$16 .set macro .set reorder $L15: .set noreorder .set nomacro jal saus addiu $16,$16,1 .set macro .set reorder lb $4,0($16) $L14: .set noreorder .set nomacro bne $4,$0,$L15 subu $2,$16,$17 .set macro .set reorder lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,32 .set macro .set reorder .end sputs .align 2 .globl print_byte .ent print_byte print_byte: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 addiu $sp,$sp,-32 sw $16,16($sp) sll $16,$4,24 sw $17,20($sp) sw $31,24($sp) sra $16,$16,24 li $17,1 # 0x1 sra $2,$16,4 $L25: andi $5,$2,0xf sll $2,$16,4 sll $16,$2,24 sltu $3,$5,10 addiu $17,$17,-1 sra $16,$16,24 .set noreorder .set nomacro bne $3,$0,$L21 addiu $4,$5,48 .set macro .set reorder addiu $4,$5,55 $L21: jal saus .set noreorder .set nomacro bgez $17,$L25 sra $2,$16,4 .set macro .set reorder lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,32 .set macro .set reorder .end print_byte .align 2 .globl print_word .ent print_word print_word: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 addiu $sp,$sp,-32 sw $17,20($sp) sw $16,16($sp) sw $31,24($sp) move $16,$4 li $17,3 # 0x3 $L30: sra $4,$16,24 .set noreorder .set nomacro jal print_byte addiu $17,$17,-1 .set macro .set reorder .set noreorder .set nomacro bgez $17,$L30 sll $16,$16,8 .set macro .set reorder lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,32 .set macro .set reorder .end print_word