123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714 |
- .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
|