blob: 2566d073c4cce9b2f00f2d62befc3a3ceee0535f [file] [log] [blame]
.global main
.section ".text"
.align 4
main:
save %sp,-96,%sp
set .L6,%i5
ba .L5; nop
.L2:
ldsb [%i5],%o0
call backslash; nop
mov %o0,%i3
set .L7,%o0
ldsb [%i5],%o1
mov %i3,%o2
call printf; nop
.L3:
add %i5,1,%i5
.L5:
ldsb [%i5],%i3
cmp %i3,0; bne .L2; nop
call f; nop
call g; nop
call h; nop
set 16777216,%i4
ba .L11; nop
.L8:
mov %i4,%o0
call big; nop
.L9:
set 16777216,%i3
add %i4,%i3,%i4
.L11:
set 117440512,%i3
and %i4,%i3,%i3
cmp %i3,0; bne .L8; nop
call limit; nop
mov %g0,%i0
.L1:
ret; restore
.type main,#function
.size main,.-main
.global backslash
.align 4
backslash:
cmp %o0,102; be .L16; nop
cmp %o0,102; bg .L22; nop
.L21:
cmp %o0,98; be .L15; nop
ba .L13; nop
.L22:
cmp %o0,110; be .L17; nop
cmp %o0,110; bl .L13; nop
.L23:
cmp %o0,114; be .L18; nop
cmp %o0,116; be .L19; nop
cmp %o0,118; be .L20; nop
ba .L13; nop
.L15:
set 8,%o0
ba .L12; nop
.L16:
set 12,%o0
ba .L12; nop
.L17:
set 10,%o0
ba .L12; nop
.L18:
set 13,%o0
ba .L12; nop
.L19:
set 9,%o0
ba .L12; nop
.L20:
set 11,%o0
ba .L12; nop
.L13:
.L12:
retl; nop
.type backslash,#function
.size backslash,.-backslash
.global f
.align 4
f:
save %sp,-96,%sp
mov %g0,%i4
set .L25,%o0
call printf; nop
mov %g0,%i5
.L26:
mov %i5,%i3
cmp %i5,1; bl .L30; nop
cmp %i5,20; bg .L30; nop
sll %i5,2,%i2
set .L42-4,%i1
ld [%i2+%i1],%i2
jmp %i2; nop
.section ".rodata"
.align 4
.L42:
.word .L32
.word .L33
.word .L30
.word .L30
.word .L30
.word .L30
.word .L34
.word .L35
.word .L36
.word .L30
.word .L30
.word .L30
.word .L30
.word .L30
.word .L30
.word .L37
.word .L38
.word .L39
.word .L40
.word .L41
.section ".text"
.L32:
mov %i5,%i4
ba .L31; nop
.L33:
mov %i5,%i4
ba .L31; nop
.L34:
mov %i5,%i4
ba .L31; nop
.L35:
mov %i5,%i4
ba .L31; nop
.L36:
mov %i5,%i4
ba .L31; nop
.L37:
mov %i5,%i4
ba .L31; nop
.L38:
mov %i5,%i4
ba .L31; nop
.L39:
mov %i5,%i4
ba .L31; nop
.L40:
mov %i5,%i4
ba .L31; nop
.L41:
mov %i5,%i4
.L30:
.L31:
set .L44,%o0
mov %i4,%o1
call printf; nop
.L27:
add %i5,1,%i5
cmp %i5,20; ble .L26; nop
mov %g0,%i0
.L24:
ret; restore
.type f,#function
.size f,.-f
.global g
.align 4
g:
save %sp,-96,%sp
set .L46,%o0
call printf; nop
set 1,%i5
.L47:
cmp %i5,1001; bl .L64; nop
cmp %i5,1004; bg .L65; nop
sll %i5,2,%i4
set .L66-4004,%i3
ld [%i4+%i3],%i4
jmp %i4; nop
.section ".rodata"
.align 4
.L66:
.word .L60
.word .L60
.word .L60
.word .L60
.section ".text"
.L64:
cmp %i5,1; bl .L51; nop
cmp %i5,8; bg .L51; nop
sll %i5,2,%i4
set .L68-4,%i3
ld [%i4+%i3],%i4
jmp %i4; nop
.section ".rodata"
.align 4
.L68:
.word .L53
.word .L53
.word .L55
.word .L55
.word .L55
.word .L57
.word .L57
.word .L57
.section ".text"
.L65:
cmp %i5,3001; bl .L51; nop
cmp %i5,3004; bg .L51; nop
sll %i5,2,%i4
set .L70-12004,%i3
ld [%i4+%i3],%i4
jmp %i4; nop
.section ".rodata"
.align 4
.L70:
.word .L62
.word .L62
.word .L62
.word .L62
.section ".text"
.L53:
set .L54,%o0
mov %i5,%o1
call printf; nop
ba .L52; nop
.L55:
set .L56,%o0
mov %i5,%o1
call printf; nop
ba .L52; nop
.L57:
set .L58,%o0
mov %i5,%o1
call printf; nop
.L51:
set .L59,%o0
mov %i5,%o1
call printf; nop
ba .L52; nop
.L60:
set .L61,%o0
mov %i5,%o1
call printf; nop
ba .L52; nop
.L62:
set .L63,%o0
mov %i5,%o1
call printf; nop
.L52:
.L48:
add %i5,1,%i5
cmp %i5,10; ble .L47; nop
mov %g0,%i0
.L45:
ret; restore
.type g,#function
.size g,.-g
.global h
.align 4
h:
save %sp,-96,%sp
mov %g0,%i4
set .L73,%o0
call printf; nop
set 1,%i5
.L74:
cmp %i5,264; be .L86; nop
cmp %i5,264; bg .L94; nop
.L93:
cmp %i5,120; be .L84; nop
cmp %i5,120; bg .L96; nop
.L95:
cmp %i5,8; be .L83; nop
cmp %i5,8; bl .L78; nop
.L97:
cmp %i5,16; be .L82; nop
ba .L78; nop
.L96:
cmp %i5,128; be .L80; nop
cmp %i5,128; bl .L78; nop
.L98:
cmp %i5,248; be .L87; nop
ba .L78; nop
.L94:
cmp %i5,288; be .L91; nop
cmp %i5,288; bg .L100; nop
.L99:
cmp %i5,272; be .L88; nop
cmp %i5,272; bl .L78; nop
.L101:
cmp %i5,280; be .L85; nop
ba .L78; nop
.L100:
cmp %i5,304; be .L89; nop
cmp %i5,304; bg .L103; nop
.L102:
cmp %i5,296; be .L90; nop
ba .L78; nop
.L103:
cmp %i5,312; be .L92; nop
ba .L78; nop
.L78:
add %i4,1,%i4
ba .L75; nop
.L80:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L82:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L83:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L84:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L85:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L86:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L87:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L88:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L89:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L90:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L91:
set .L81,%o0
mov %i5,%o1
call printf; nop
ba .L79; nop
.L92:
set .L81,%o0
mov %i5,%o1
call printf; nop
.L79:
.L75:
add %i5,1,%i5
cmp %i5,500; ble .L74; nop
set .L104,%o0
mov %i4,%o1
call printf; nop
mov %g0,%i0
.L72:
ret; restore
.type h,#function
.size h,.-h
.global big
.align 4
big:
save %sp,-96,%sp
set 0x6000000,%i4
and %i0,%i4,%i5
set 33554432,%i3
cmp %i5,%i3; be .L111; nop
cmp %i5,%i3; bg .L115; nop
.L114:
cmp %i5,-2; be .L109; nop
cmp %i5,-1; be .L109; nop
cmp %i5,0; be .L109; nop
ba .L106; nop
.L115:
mov %i5,%i4
set 67108864,%i3
cmp %i4,%i3; be .L112; nop
ba .L106; nop
.L109:
set .L110,%o0
mov %i0,%o1
call printf; nop
ba .L107; nop
.L111:
set .L110,%o0
mov %i0,%o1
call printf; nop
ba .L107; nop
.L112:
set .L110,%o0
mov %i0,%o1
call printf; nop
ba .L107; nop
.L106:
set .L113,%o0
mov %i0,%o1
call printf; nop
.L107:
mov %g0,%i0
.L105:
ret; restore
.type big,#function
.size big,.-big
.global limit
.align 4
limit:
save %sp,-96,%sp
set -2147483648,%i5
.L117:
set -2147483648,%i4
cmp %i5,%i4; bl .L121; nop
set -2147483644,%i3
cmp %i5,%i3; bg .L121; nop
sll %i5,2,%i3
sll %i4,2,%i4
sub %i3,%i4,%i4
set .L134,%i3
ld [%i4+%i3],%i4
jmp %i4; nop
.section ".rodata"
.align 4
.L134:
.word .L123
.word .L125
.word .L127
.word .L129
.word .L131
.section ".text"
.L123:
set .L124,%o0
call printf; nop
ba .L122; nop
.L125:
set .L126,%o0
call printf; nop
ba .L122; nop
.L127:
set .L128,%o0
call printf; nop
ba .L122; nop
.L129:
set .L130,%o0
call printf; nop
ba .L122; nop
.L131:
set .L132,%o0
call printf; nop
ba .L122; nop
.L121:
set .L133,%o0
call printf; nop
.L122:
.L118:
add %i5,1,%i5
set -2147483643,%i4
cmp %i5,%i4; ble .L117; nop
set 2147483647,%i5
.L135:
set 2147483643,%i4
cmp %i5,%i4; bl .L139; nop
set 2147483647,%i3
cmp %i5,%i3; bg .L139; nop
sll %i5,2,%i3
sll %i4,2,%i4
sub %i3,%i4,%i4
set .L146,%i3
ld [%i4+%i3],%i4
jmp %i4; nop
.section ".rodata"
.align 4
.L146:
.word .L145
.word .L144
.word .L143
.word .L142
.word .L141
.section ".text"
.L141:
set .L124,%o0
call printf; nop
ba .L140; nop
.L142:
set .L126,%o0
call printf; nop
ba .L140; nop
.L143:
set .L128,%o0
call printf; nop
ba .L140; nop
.L144:
set .L130,%o0
call printf; nop
ba .L140; nop
.L145:
set .L132,%o0
call printf; nop
ba .L140; nop
.L139:
set .L133,%o0
call printf; nop
.L140:
.L136:
sub %i5,1,%i5
set 2147483642,%i4
cmp %i5,%i4; bge .L135; nop
mov %g0,%i0
.L116:
ret; restore
.type limit,#function
.size limit,.-limit
.section ".rodata"
.align 1
.L133:
.byte 53
.byte 10
.byte 0
.align 1
.L132:
.byte 52
.byte 10
.byte 0
.align 1
.L130:
.byte 51
.byte 10
.byte 0
.align 1
.L128:
.byte 50
.byte 10
.byte 0
.align 1
.L126:
.byte 49
.byte 10
.byte 0
.align 1
.L124:
.byte 48
.byte 10
.byte 0
.align 1
.L113:
.byte 120
.byte 32
.byte 61
.byte 32
.byte 48
.byte 120
.byte 37
.byte 120
.byte 32
.byte 40
.byte 100
.byte 101
.byte 102
.byte 97
.byte 117
.byte 108
.byte 116
.byte 41
.byte 10
.byte 0
.align 1
.L110:
.byte 120
.byte 32
.byte 61
.byte 32
.byte 48
.byte 120
.byte 37
.byte 120
.byte 10
.byte 0
.align 1
.L104:
.byte 37
.byte 100
.byte 32
.byte 100
.byte 101
.byte 102
.byte 97
.byte 117
.byte 108
.byte 116
.byte 115
.byte 10
.byte 0
.align 1
.L81:
.byte 105
.byte 32
.byte 61
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L73:
.byte 104
.byte 58
.byte 10
.byte 0
.align 1
.L63:
.byte 54
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L61:
.byte 53
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L59:
.byte 100
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L58:
.byte 51
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L56:
.byte 50
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L54:
.byte 49
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L46:
.byte 103
.byte 58
.byte 10
.byte 0
.align 1
.L44:
.byte 120
.byte 32
.byte 61
.byte 32
.byte 37
.byte 100
.byte 10
.byte 0
.align 1
.L25:
.byte 102
.byte 58
.byte 10
.byte 0
.align 1
.L7:
.byte 37
.byte 99
.byte 32
.byte 61
.byte 32
.byte 48
.byte 120
.byte 37
.byte 120
.byte 10
.byte 0
.align 1
.L6:
.byte 98
.byte 102
.byte 110
.byte 114
.byte 116
.byte 118
.byte 120
.byte 0