--- /dev/null
+ .file 1 "syscalls.c"
+ .section .mdebug.abi64
+ .previous
+ .section .rodata.str1.8,"aMS",@progbits,1
+ .align 3
+$LC0:
+ .ascii "0123456789abcdef\000"
+ .text
+ .align 2
+ .ent printnum
+ .type printnum, @function
+printnum:
+ .frame x30,64,x1 # vars= 0, regs= 7/0, args= 0
+ .mask 0x03f00002,-8
+ .fmask 0x00000000,0
+ add x30,x30,-64
+ sd x22,32(x30)
+ sll x22,x7,32
+ srl x22,x22,32
+ sd x24,48(x30)
+ sd x23,40(x30)
+ sd x21,24(x30)
+ sd x20,16(x30)
+ sd x25,56(x30)
+ sd x1,8(x30)
+ move x23,x6
+ move x20,x4
+ move x21,x5
+ move x24,x9
+ bleu x22,x6,$L2
+ addw x8,x8,-1
+ move x25,x8
+ ble x8,x0,$L4
+$L6:
+ addw x25,x25,-1
+ move x4,x24
+ move x5,x21
+ jalr x20
+ bne x25,x0,$L6
+$L4:
+ lui x2,%hi($LC0)
+ add x2,x2,%lo($LC0)
+ remu x22,x23,x22
+ add x22,x22,x2
+ lb x4,0(x22)
+ move x5,x21
+ move x19,x20
+ ld x25,56(x30)
+ ld x24,48(x30)
+ ld x23,40(x30)
+ ld x22,32(x30)
+ ld x21,24(x30)
+ ld x20,16(x30)
+ ld x1,8(x30)
+ add x30,x30,64
+ jr x19
+$L2:
+ addw x8,x8,-1
+ divu x6,x6,x22
+ jal printnum
+ j $L4
+ .end printnum
+ .size printnum, .-printnum
+ .align 2
+ .ent getuint
+ .type getuint, @function
+getuint:
+ .frame x30,0,x1 # vars= 0, regs= 0/0, args= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ slt x2,x5,2
+ bne x2,x0,$L10
+$L13:
+ ld x2,0(x4)
+ add x3,x2,8
+ sd x3,0(x4)
+ ld x2,0(x2)
+ ret
+$L10:
+ bne x5,x0,$L13
+ ld x3,0(x4)
+ lwu x2,0(x3)
+ add x3,x3,8
+ sd x3,0(x4)
+ ret
+ .end getuint
+ .size getuint, .-getuint
+ .align 2
+ .globl putchar
+ .ent putchar
+ .type putchar, @function
+putchar:
+ .frame x30,64,x1 # vars= 64, regs= 0/0, args= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ li x2,-1 # 0xffffffffffffffff
+ add x30,x30,-64
+ lui x3,%hi(buflen.1596)
+ beq x4,x2,$L21
+ lw x5,%lo(buflen.1596)(x3)
+ lui x2,%hi(buf.1595)
+ add x2,x2,%lo(buf.1595)
+ add x6,x2,x5
+ sb x4,0(x6)
+ addw x5,x5,1
+ li x4,64 # 0x40
+ sw x5,%lo(buflen.1596)(x3)
+ beq x5,x4,$L15
+ move x2,x0
+ add x30,x30,64
+ j x1
+$L21:
+ lui x2,%hi(buf.1595)
+ add x2,x2,%lo(buf.1595)
+$L15:
+ lw x4,%lo(buflen.1596)(x3)
+ li x5,4 # 0x4
+ sd x0,0(x30)
+ sd x0,8(x30)
+ sd x0,16(x30)
+ sd x0,24(x30)
+ sd x0,32(x30)
+ sd x0,40(x30)
+ sd x0,48(x30)
+ sd x0,56(x30)
+ sd x5,0(x30)
+ li x5,1 # 0x1
+ sd x5,8(x30)
+ sd x2,16(x30)
+ sd x4,24(x30)
+ fence
+ #APP
+ # 45 "syscalls.c" 1
+ mtpcr x2,x30,cr30
+ # 0 "" 2
+ #NO_APP
+$L17:
+ #APP
+ # 46 "syscalls.c" 1
+ mfpcr x2,cr31
+ # 0 "" 2
+ #NO_APP
+ beq x2,x0,$L17
+ move x2,x0
+ sw x0,%lo(buflen.1596)(x3)
+ add x30,x30,64
+ j x1
+ .end putchar
+ .size putchar, .-putchar
+ .align 2
+ .globl exit
+ .ent exit
+ .type exit, @function
+exit:
+ .frame x30,64,x1 # vars= 64, regs= 0/0, args= 0
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+ add x30,x30,-64
+ li x2,1 # 0x1
+ sd x0,0(x30)
+ sd x0,8(x30)
+ sd x0,16(x30)
+ sd x0,24(x30)
+ sd x0,32(x30)
+ sd x0,40(x30)
+ sd x0,48(x30)
+ sd x0,56(x30)
+ sd x2,0(x30)
+ sd x4,8(x30)
+ fence
+ #APP
+ # 12 "syscalls.c" 1
+ mtpcr x2,x30,cr30
+ # 0 "" 2
+ #NO_APP
+$L23:
+ j $L23
+ .end exit
+ .size exit, .-exit
+ .align 2
+ .globl printstr
+ .ent printstr
+ .type printstr, @function
+printstr:
+ .frame x30,80,x1 # vars= 64, regs= 1/0, args= 0
+ .mask 0x00000002,-8
+ .fmask 0x00000000,0
+ add x30,x30,-80
+ li x3,4 # 0x4
+ sd x0,0(x30)
+ sd x0,8(x30)
+ sd x0,16(x30)
+ sd x0,24(x30)
+ sd x0,32(x30)
+ sd x0,40(x30)
+ sd x0,48(x30)
+ sd x0,56(x30)
+ sd x3,0(x30)
+ li x3,1 # 0x1
+ sd x3,8(x30)
+ sd x1,72(x30)
+ sd x4,16(x30)
+ jal strlen
+ sd x2,24(x30)
+ fence
+ #APP
+ # 24 "syscalls.c" 1
+ mtpcr x2,x30,cr30
+ # 0 "" 2
+ #NO_APP
+$L25:
+ #APP
+ # 25 "syscalls.c" 1
+ mfpcr x2,cr31
+ # 0 "" 2
+ #NO_APP
+ beq x2,x0,$L25
+ ld x1,72(x30)
+ add x30,x30,80
+ j x1
+ .end printstr
+ .size printstr, .-printstr
+ .align 2
+ .globl printhex
+ .ent printhex
+ .type printhex, @function
+printhex:
+ .frame x30,48,x1 # vars= 32, regs= 1/0, args= 0
+ .mask 0x00000002,-8
+ .fmask 0x00000000,0
+ add x30,x30,-48
+ sd x1,40(x30)
+ add x2,x30,15
+ add x7,x30,-1
+$L29:
+ and x3,x4,15
+ sltu x6,x3,10
+ li x5,87 # 0x57
+ beq x6,x0,$L28
+ li x5,48 # 0x30
+$L28:
+ add x3,x5,x3
+ sb x3,0(x2)
+ add x2,x2,-1
+ srl x4,x4,4
+ bne x2,x7,$L29
+ move x4,x30
+ sb x0,16(x30)
+ jal printstr
+ ld x1,40(x30)
+ add x30,x30,48
+ j x1
+ .end printhex
+ .size printhex, .-printhex
+ .section .rodata.str1.8
+ .align 3
+$LC1:
+ .ascii "(null)\000"
+ .text
+ .align 2
+ .globl vprintfmt
+ .ent vprintfmt
+ .type vprintfmt, @function
+vprintfmt:
+ .frame x30,112,x1 # vars= 32, regs= 10/0, args= 0
+ .mask 0x2ff00002,-8
+ .fmask 0x00000000,0
+ add x30,x30,-112
+ sd x25,80(x30)
+ lui x25,%hi($L53)
+ sd x26,88(x30)
+ sd x24,72(x30)
+ sd x23,64(x30)
+ sd x22,56(x30)
+ sd x21,48(x30)
+ sd x20,40(x30)
+ sd x29,104(x30)
+ sd x27,96(x30)
+ sd x1,32(x30)
+ move x21,x4
+ move x20,x5
+ move x23,x6
+ sd x7,0(x30)
+ li x22,37 # 0x25
+ add x25,x25,%lo($L53)
+ li x24,-1 # 0xffffffffffffffff
+ lui x26,%hi($LC1)
+ j $L84
+$L35:
+ beq x2,x0,$L32
+ move x5,x20
+ add x23,x23,1
+ jalr x21
+$L84:
+ lbu x4,0(x23)
+ move x2,x4
+ bne x4,x22,$L35
+ ld x2,0(x30)
+ add x6,x23,1
+ move x7,x6
+ li x27,32 # 0x20
+ sd x0,8(x30)
+ li x3,-1 # 0xffffffffffffffff
+ li x29,-1 # 0xffffffffffffffff
+ move x5,x0
+$L85:
+ lbu x4,0(x7)
+ add x23,x7,1
+ addw x8,x4,-35
+ and x9,x8,0xff
+ sltu x9,x9,86
+ bne x9,x0,$L90
+$L38:
+ li x4,37 # 0x25
+ move x5,x20
+ sd x2,0(x30)
+ move x23,x6
+ jalr x21
+ j $L84
+$L32:
+ ld x1,32(x30)
+ ld x29,104(x30)
+ ld x27,96(x30)
+ ld x26,88(x30)
+ ld x25,80(x30)
+ ld x24,72(x30)
+ ld x23,64(x30)
+ ld x22,56(x30)
+ ld x21,48(x30)
+ ld x20,40(x30)
+ add x30,x30,112
+ j x1
+$L90:
+ and x8,x8,0xff
+ sll x8,x8,3
+ add x8,x25,x8
+ ld x8,0(x8)
+ j x8
+ .section .rodata
+ .align 3
+ .align 2
+$L53:
+ .dword $L39
+ .dword $L38
+ .dword $L40
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L41
+ .dword $L38
+ .dword $L38
+ .dword $L42
+ .dword $L43
+ .dword $L38
+ .dword $L74
+ .dword $L44
+ .dword $L44
+ .dword $L44
+ .dword $L44
+ .dword $L44
+ .dword $L44
+ .dword $L44
+ .dword $L44
+ .dword $L44
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L45
+ .dword $L46
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L38
+ .dword $L47
+ .dword $L38
+ .dword $L38
+ .dword $L48
+ .dword $L49
+ .dword $L38
+ .dword $L38
+ .dword $L50
+ .dword $L38
+ .dword $L51
+ .dword $L38
+ .dword $L38
+ .dword $L52
+ .text
+$L52:
+ move x4,x30
+ sd x2,0(x30)
+ jal getuint
+ move x6,x2
+ li x7,16 # 0x10
+$L73:
+ move x4,x21
+ move x5,x20
+ move x8,x29
+ move x9,x27
+ jal printnum
+ j $L84
+$L39:
+ li x4,1 # 0x1
+ move x7,x23
+ sd x4,8(x30)
+ j $L85
+$L40:
+ move x5,x20
+ sd x2,0(x30)
+ jalr x21
+ j $L84
+$L41:
+ lw x3,0(x2)
+ move x7,x23
+ add x2,x2,8
+$L54:
+ bge x29,x0,$L85
+ move x29,x3
+ li x3,-1 # 0xffffffffffffffff
+ j $L85
+$L42:
+ move x7,x23
+ li x27,45 # 0x2d
+ j $L85
+$L43:
+ blt x29,x0,$L91
+ move x7,x23
+ j $L85
+$L74:
+ move x7,x23
+ li x27,48 # 0x30
+ j $L85
+$L44:
+ lb x8,1(x7)
+ addw x3,x4,-48
+ move x7,x23
+ addw x4,x8,-48
+ sltu x4,x4,10
+ beq x4,x0,$L54
+$L55:
+ add x7,x7,1
+ lb x4,0(x7)
+ sllw x9,x3,1
+ sllw x3,x3,3
+ addw x3,x9,x3
+ addw x9,x4,-48
+ addw x3,x3,x8
+ sltu x9,x9,10
+ addw x3,x3,-48
+ move x8,x4
+ bne x9,x0,$L55
+ j $L54
+$L45:
+ lw x4,0(x2)
+ add x2,x2,8
+ move x5,x20
+ sd x2,0(x30)
+ jalr x21
+ j $L84
+$L46:
+ slt x3,x5,2
+ bne x3,x0,$L69
+$L88:
+ add x3,x2,8
+ sd x3,0(x30)
+ ld x6,0(x2)
+ blt x6,x0,$L72
+$L89:
+ li x7,10 # 0xa
+ j $L73
+$L47:
+ addw x5,x5,1
+ move x7,x23
+ j $L85
+$L48:
+ move x4,x30
+ sd x2,0(x30)
+ jal getuint
+ move x6,x2
+ li x7,8 # 0x8
+ j $L73
+$L49:
+ sd x2,0(x30)
+ li x4,48 # 0x30
+ move x5,x20
+ jalr x21
+ li x4,120 # 0x78
+ move x5,x20
+ jalr x21
+ ld x2,0(x30)
+ li x7,16 # 0x10
+ add x3,x2,8
+ sd x3,0(x30)
+ ld x6,0(x2)
+ j $L73
+$L50:
+ add x4,x2,8
+ sd x4,0(x30)
+ ld x2,0(x2)
+ sd x2,16(x30)
+ beq x2,x0,$L92
+$L58:
+ ble x29,x0,$L59
+ li x2,45 # 0x2d
+ beq x27,x2,$L59
+ ld x4,16(x30)
+ move x5,x3
+ sd x3,24(x30)
+ jal strnlen
+ sllw x2,x2,0
+ subw x2,x29,x2
+ move x29,x2
+ ld x3,24(x30)
+ ble x2,x0,$L59
+ move x29,x2
+$L60:
+ sd x3,24(x30)
+ move x4,x27
+ move x5,x20
+ addw x29,x29,-1
+ jalr x21
+ ld x3,24(x30)
+ bne x29,x0,$L60
+$L59:
+ ld x2,16(x30)
+ lb x4,0(x2)
+ add x27,x2,1
+ beq x4,x0,$L62
+$L80:
+ blt x3,x0,$L67
+ addw x2,x3,-1
+ move x3,x2
+ beq x2,x24,$L62
+$L67:
+ ld x2,8(x30)
+ beq x2,x0,$L63
+ addw x2,x4,-32
+ sltu x2,x2,95
+ beq x2,x0,$L93
+$L63:
+ sd x3,24(x30)
+ move x5,x20
+ jalr x21
+ ld x3,24(x30)
+$L64:
+ lb x4,0(x27)
+ addw x29,x29,-1
+ add x27,x27,1
+ bne x4,x0,$L80
+$L62:
+ ble x29,x0,$L84
+$L79:
+ addw x29,x29,-1
+ li x4,32 # 0x20
+ move x5,x20
+ jalr x21
+ bne x29,x0,$L79
+ j $L84
+$L51:
+ move x4,x30
+ sd x2,0(x30)
+ jal getuint
+ move x6,x2
+ li x7,10 # 0xa
+ j $L73
+$L93:
+ sd x3,24(x30)
+ li x4,63 # 0x3f
+ move x5,x20
+ jalr x21
+ ld x3,24(x30)
+ j $L64
+$L91:
+ move x7,x23
+ move x29,x0
+ j $L85
+$L92:
+ add x2,x26,%lo($LC1)
+ sd x2,16(x30)
+ j $L58
+$L72:
+ sd x6,24(x30)
+ li x4,45 # 0x2d
+ move x5,x20
+ jalr x21
+ ld x6,24(x30)
+ li x7,10 # 0xa
+ sub x6,zero,x6
+ j $L73
+$L69:
+ bne x5,x0,$L88
+ lw x6,0(x2)
+ add x2,x2,8
+ sd x2,0(x30)
+ bge x6,x0,$L89
+ j $L72
+ .end vprintfmt
+ .size vprintfmt, .-vprintfmt
+ .align 2
+ .globl printf
+ .ent printf
+ .type printf, @function
+printf:
+ .frame x30,96,x1 # vars= 16, regs= 1/0, args= 0
+ .mask 0x00000002,-72
+ .fmask 0x00000000,0
+ add x30,x30,-96
+ add x2,x30,40
+ move x3,x4
+ lui x4,%hi(putchar)
+ sd x5,40(x30)
+ sd x6,48(x30)
+ sd x7,56(x30)
+ add x4,x4,%lo(putchar)
+ move x5,x0
+ move x6,x3
+ move x7,x2
+ sd x1,24(x30)
+ sd x8,64(x30)
+ sd x9,72(x30)
+ sd x10,80(x30)
+ sd x11,88(x30)
+ sd x2,0(x30)
+ jal vprintfmt
+ li x4,-1 # 0xffffffffffffffff
+ jal putchar
+ ld x1,24(x30)
+ move x2,x0
+ add x30,x30,96
+ j x1
+ .end printf
+ .size printf, .-printf
+ .local buflen.1596
+ .comm buflen.1596,4,4
+ .local buf.1595
+ .comm buf.1595,64,8
+ .ident "GCC: (GNU) 4.6.1"