aboutsummaryrefslogtreecommitdiff
path: root/mt/common/syscalls.S
diff options
context:
space:
mode:
Diffstat (limited to 'mt/common/syscalls.S')
-rwxr-xr-xmt/common/syscalls.S678
1 files changed, 0 insertions, 678 deletions
diff --git a/mt/common/syscalls.S b/mt/common/syscalls.S
deleted file mode 100755
index a0cdf6e..0000000
--- a/mt/common/syscalls.S
+++ /dev/null
@@ -1,678 +0,0 @@
- .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"