Annotation of researchv10no/cmd/lcc/gen2/sparc-sun/tst/switch.s, revision 1.1.1.1

1.1       root        1: .seg "text"
                      2: .global _main
                      3: .align 4
                      4: .proc 4
                      5: _main:save %sp,-96,%sp
                      6: set L6,%r29
                      7: ba L5; nop
                      8: L2:
                      9: ldsb [%r29],%r8
                     10: call _backslash; nop
                     11: mov %r8,%r27
                     12: set L7,%r8
                     13: ldsb [%r29],%r9
                     14: mov %r27,%r10
                     15: call _printf; nop
                     16: L3:
                     17: add %r29,1,%r29
                     18: L5:
                     19: ldsb [%r29],%r27
                     20: cmp %r27,%r0; bne L2; nop
                     21: call _f; nop
                     22: call _g; nop
                     23: call _h; nop
                     24: set 16777216,%r28
                     25: ba L11; nop
                     26: L8:
                     27: mov %r28,%r8
                     28: call _big; nop
                     29: L9:
                     30: set 16777216,%r27
                     31: add %r28,%r27,%r28
                     32: L11:
                     33: set 0x7000000,%r27
                     34: and %r28,%r27,%r27
                     35: cmp %r27,%r0; bne L8; nop
                     36: call _limit; nop
                     37: mov %r0,%r24
                     38: L1:
                     39: ret; restore
                     40: .global _backslash
                     41: .align 4
                     42: .proc 4
                     43: _backslash:
                     44: cmp %r8,110; be L18; nop
                     45: cmp %r8,110; bg L22; nop
                     46: cmp %r8,102; be L17; nop
                     47: cmp %r8,102; bg L14; nop
                     48: cmp %r8,98; be L16; nop
                     49: ba L14; nop
                     50: L22:
                     51: cmp %r8,114; be L19; nop
                     52: cmp %r8,116; be L20; nop
                     53: cmp %r8,118; be L21; nop
                     54: ba L14; nop
                     55: L16:
                     56: set 8,%r8
                     57: ba L13; nop
                     58: L17:
                     59: set 12,%r8
                     60: ba L13; nop
                     61: L18:
                     62: set 10,%r8
                     63: ba L13; nop
                     64: L19:
                     65: set 13,%r8
                     66: ba L13; nop
                     67: L20:
                     68: set 9,%r8
                     69: ba L13; nop
                     70: L21:
                     71: set 11,%r8
                     72: ba L13; nop
                     73: L14:
                     74: L13:
                     75: retl; nop
                     76: .global _f
                     77: .align 4
                     78: .proc 4
                     79: _f:save %sp,-96,%sp
                     80: mov %r0,%r28
                     81: set L24,%r8
                     82: call _printf; nop
                     83: mov %r0,%r29
                     84: L25:
                     85: mov %r29,%r27
                     86: cmp %r29,1; bl L29; nop
                     87: cmp %r29,20; bg L29; nop
                     88: sll %r29,2,%r26
                     89: set L42-4,%r25
                     90: ld [%r26+%r25],%r26
                     91: jmp %r26; nop
                     92: L42:
                     93: .align 4; .word L31
                     94: .align 4; .word L32
                     95: .align 4; .word L29
                     96: .align 4; .word L29
                     97: .align 4; .word L29
                     98: .align 4; .word L29
                     99: .align 4; .word L33
                    100: .align 4; .word L34
                    101: .align 4; .word L35
                    102: .align 4; .word L29
                    103: .align 4; .word L29
                    104: .align 4; .word L29
                    105: .align 4; .word L29
                    106: .align 4; .word L29
                    107: .align 4; .word L29
                    108: .align 4; .word L36
                    109: .align 4; .word L37
                    110: .align 4; .word L38
                    111: .align 4; .word L39
                    112: .align 4; .word L40
                    113: L31:
                    114: mov %r29,%r28
                    115: ba L30; nop
                    116: L32:
                    117: mov %r29,%r28
                    118: ba L30; nop
                    119: L33:
                    120: mov %r29,%r28
                    121: ba L30; nop
                    122: L34:
                    123: mov %r29,%r28
                    124: ba L30; nop
                    125: L35:
                    126: mov %r29,%r28
                    127: ba L30; nop
                    128: L36:
                    129: mov %r29,%r28
                    130: ba L30; nop
                    131: L37:
                    132: mov %r29,%r28
                    133: ba L30; nop
                    134: L38:
                    135: mov %r29,%r28
                    136: ba L30; nop
                    137: L39:
                    138: mov %r29,%r28
                    139: ba L30; nop
                    140: L40:
                    141: mov %r29,%r28
                    142: L29:
                    143: L30:
                    144: set L44,%r8
                    145: mov %r28,%r9
                    146: call _printf; nop
                    147: L26:
                    148: add %r29,1,%r29
                    149: cmp %r29,20; ble L25; nop
                    150: L23:
                    151: ret; restore
                    152: .global _g
                    153: .align 4
                    154: .proc 4
                    155: _g:save %sp,-96,%sp
                    156: set L46,%r8
                    157: call _printf; nop
                    158: set 1,%r29
                    159: L47:
                    160: cmp %r29,1001; bl L65; nop
                    161: cmp %r29,1004; bg L64; nop
                    162: sll %r29,2,%r28
                    163: set L66-4004,%r27
                    164: ld [%r28+%r27],%r28
                    165: jmp %r28; nop
                    166: L66:
                    167: .align 4; .word L60
                    168: .align 4; .word L60
                    169: .align 4; .word L60
                    170: .align 4; .word L60
                    171: L65:
                    172: cmp %r29,1; bl L51; nop
                    173: cmp %r29,8; bg L51; nop
                    174: sll %r29,2,%r28
                    175: set L69-4,%r27
                    176: ld [%r28+%r27],%r28
                    177: jmp %r28; nop
                    178: L69:
                    179: .align 4; .word L53
                    180: .align 4; .word L53
                    181: .align 4; .word L55
                    182: .align 4; .word L55
                    183: .align 4; .word L55
                    184: .align 4; .word L57
                    185: .align 4; .word L57
                    186: .align 4; .word L57
                    187: L68:
                    188: L64:
                    189: cmp %r29,3001; bl L51; nop
                    190: cmp %r29,3004; bg L51; nop
                    191: sll %r29,2,%r28
                    192: set L72-12004,%r27
                    193: ld [%r28+%r27],%r28
                    194: jmp %r28; nop
                    195: L72:
                    196: .align 4; .word L62
                    197: .align 4; .word L62
                    198: .align 4; .word L62
                    199: .align 4; .word L62
                    200: L53:
                    201: set L54,%r8
                    202: mov %r29,%r9
                    203: call _printf; nop
                    204: ba L52; nop
                    205: L55:
                    206: set L56,%r8
                    207: mov %r29,%r9
                    208: call _printf; nop
                    209: ba L52; nop
                    210: L57:
                    211: set L58,%r8
                    212: mov %r29,%r9
                    213: call _printf; nop
                    214: L51:
                    215: set L59,%r8
                    216: mov %r29,%r9
                    217: call _printf; nop
                    218: ba L52; nop
                    219: L60:
                    220: set L61,%r8
                    221: mov %r29,%r9
                    222: call _printf; nop
                    223: ba L52; nop
                    224: L62:
                    225: set L63,%r8
                    226: mov %r29,%r9
                    227: call _printf; nop
                    228: L52:
                    229: L48:
                    230: add %r29,1,%r29
                    231: cmp %r29,10; ble L47; nop
                    232: L45:
                    233: ret; restore
                    234: .global _h
                    235: .align 4
                    236: .proc 4
                    237: _h:save %sp,-96,%sp
                    238: mov %r0,%r28
                    239: set L75,%r8
                    240: call _printf; nop
                    241: set 1,%r29
                    242: L76:
                    243: cmp %r29,128; be L82; nop
                    244: cmp %r29,128; bg L95; nop
                    245: cmp %r29,16; be L84; nop
                    246: cmp %r29,16; bg L96; nop
                    247: cmp %r29,8; be L85; nop
                    248: ba L80; nop
                    249: L96:
                    250: cmp %r29,120; be L86; nop
                    251: ba L80; nop
                    252: L95:
                    253: cmp %r29,280; be L87; nop
                    254: cmp %r29,280; bg L97; nop
                    255: cmp %r29,264; be L88; nop
                    256: cmp %r29,264; bg L98; nop
                    257: cmp %r29,248; be L89; nop
                    258: ba L80; nop
                    259: L98:
                    260: cmp %r29,272; be L90; nop
                    261: ba L80; nop
                    262: L97:
                    263: cmp %r29,304; be L91; nop
                    264: cmp %r29,304; bg L99; nop
                    265: cmp %r29,296; be L92; nop
                    266: cmp %r29,296; bg L80; nop
                    267: cmp %r29,288; be L93; nop
                    268: ba L80; nop
                    269: L99:
                    270: cmp %r29,312; be L94; nop
                    271: ba L80; nop
                    272: L80:
                    273: add %r28,1,%r28
                    274: ba L77; nop
                    275: L82:
                    276: set L83,%r8
                    277: mov %r29,%r9
                    278: call _printf; nop
                    279: ba L81; nop
                    280: L84:
                    281: set L83,%r8
                    282: mov %r29,%r9
                    283: call _printf; nop
                    284: ba L81; nop
                    285: L85:
                    286: set L83,%r8
                    287: mov %r29,%r9
                    288: call _printf; nop
                    289: ba L81; nop
                    290: L86:
                    291: set L83,%r8
                    292: mov %r29,%r9
                    293: call _printf; nop
                    294: ba L81; nop
                    295: L87:
                    296: set L83,%r8
                    297: mov %r29,%r9
                    298: call _printf; nop
                    299: ba L81; nop
                    300: L88:
                    301: set L83,%r8
                    302: mov %r29,%r9
                    303: call _printf; nop
                    304: ba L81; nop
                    305: L89:
                    306: set L83,%r8
                    307: mov %r29,%r9
                    308: call _printf; nop
                    309: ba L81; nop
                    310: L90:
                    311: set L83,%r8
                    312: mov %r29,%r9
                    313: call _printf; nop
                    314: ba L81; nop
                    315: L91:
                    316: set L83,%r8
                    317: mov %r29,%r9
                    318: call _printf; nop
                    319: ba L81; nop
                    320: L92:
                    321: set L83,%r8
                    322: mov %r29,%r9
                    323: call _printf; nop
                    324: ba L81; nop
                    325: L93:
                    326: set L83,%r8
                    327: mov %r29,%r9
                    328: call _printf; nop
                    329: ba L81; nop
                    330: L94:
                    331: set L83,%r8
                    332: mov %r29,%r9
                    333: call _printf; nop
                    334: L81:
                    335: L77:
                    336: add %r29,1,%r29
                    337: cmp %r29,500; ble L76; nop
                    338: set L100,%r8
                    339: mov %r28,%r9
                    340: call _printf; nop
                    341: L74:
                    342: ret; restore
                    343: .global _big
                    344: .align 4
                    345: .proc 4
                    346: _big:save %sp,-96,%sp
                    347: set 0x6000000,%r28
                    348: and %r24,%r28,%r29
                    349: mov %r29,%r28
                    350: set 33554432,%r27
                    351: cmp %r28,%r27; be L107; nop
                    352: cmp %r28,%r27; bg L110; nop
                    353: mov %r29,%r28
                    354: cmp %r28,-2; be L105; nop
                    355: cmp %r28,-1; be L105; nop
                    356: cmp %r28,%r0; be L105; nop
                    357: ba L102; nop
                    358: L110:
                    359: set 67108864,%r28
                    360: cmp %r29,%r28; be L108; nop
                    361: ba L102; nop
                    362: L105:
                    363: set L106,%r8
                    364: mov %r24,%r9
                    365: call _printf; nop
                    366: ba L103; nop
                    367: L107:
                    368: set L106,%r8
                    369: mov %r24,%r9
                    370: call _printf; nop
                    371: ba L103; nop
                    372: L108:
                    373: set L106,%r8
                    374: mov %r24,%r9
                    375: call _printf; nop
                    376: ba L103; nop
                    377: L102:
                    378: set L109,%r8
                    379: mov %r24,%r9
                    380: call _printf; nop
                    381: L103:
                    382: L101:
                    383: ret; restore
                    384: .global _limit
                    385: .align 4
                    386: .proc 4
                    387: _limit:save %sp,-96,%sp
                    388: set -2147483648,%r29
                    389: L112:
                    390: set -2147483648,%r28
                    391: cmp %r29,%r28; bl L116; nop
                    392: set -2147483644,%r27
                    393: cmp %r29,%r27; bg L116; nop
                    394: sll %r29,2,%r27
                    395: sll %r28,2,%r28
                    396: sub %r27,%r28,%r28
                    397: set L130,%r27
                    398: ld [%r28+%r27],%r28
                    399: jmp %r28; nop
                    400: L130:
                    401: .align 4; .word L118
                    402: .align 4; .word L120
                    403: .align 4; .word L122
                    404: .align 4; .word L124
                    405: .align 4; .word L126
                    406: L118:
                    407: set L119,%r8
                    408: call _printf; nop
                    409: ba L117; nop
                    410: L120:
                    411: set L121,%r8
                    412: call _printf; nop
                    413: ba L117; nop
                    414: L122:
                    415: set L123,%r8
                    416: call _printf; nop
                    417: ba L117; nop
                    418: L124:
                    419: set L125,%r8
                    420: call _printf; nop
                    421: ba L117; nop
                    422: L126:
                    423: set L127,%r8
                    424: call _printf; nop
                    425: ba L117; nop
                    426: L116:
                    427: set L128,%r8
                    428: call _printf; nop
                    429: L117:
                    430: L113:
                    431: add %r29,1,%r29
                    432: set -2147483643,%r28
                    433: cmp %r29,%r28; ble L112; nop
                    434: set 2147483647,%r29
                    435: L131:
                    436: set 2147483643,%r28
                    437: cmp %r29,%r28; bl L135; nop
                    438: set 2147483647,%r27
                    439: cmp %r29,%r27; bg L135; nop
                    440: sll %r29,2,%r27
                    441: sll %r28,2,%r28
                    442: sub %r27,%r28,%r28
                    443: set L143,%r27
                    444: ld [%r28+%r27],%r28
                    445: jmp %r28; nop
                    446: L143:
                    447: .align 4; .word L141
                    448: .align 4; .word L140
                    449: .align 4; .word L139
                    450: .align 4; .word L138
                    451: .align 4; .word L137
                    452: L137:
                    453: set L119,%r8
                    454: call _printf; nop
                    455: ba L136; nop
                    456: L138:
                    457: set L121,%r8
                    458: call _printf; nop
                    459: ba L136; nop
                    460: L139:
                    461: set L123,%r8
                    462: call _printf; nop
                    463: ba L136; nop
                    464: L140:
                    465: set L125,%r8
                    466: call _printf; nop
                    467: ba L136; nop
                    468: L141:
                    469: set L127,%r8
                    470: call _printf; nop
                    471: ba L136; nop
                    472: L135:
                    473: set L128,%r8
                    474: call _printf; nop
                    475: L136:
                    476: L132:
                    477: sub %r29,1,%r29
                    478: set 2147483642,%r28
                    479: cmp %r29,%r28; bge L131; nop
                    480: L111:
                    481: ret; restore
                    482: .seg "text"
                    483: L128:.byte 53,10,0
                    484: L127:.byte 52,10,0
                    485: L125:.byte 51,10,0
                    486: L123:.byte 50,10,0
                    487: L121:.byte 49,10,0
                    488: L119:.byte 48,10,0
                    489: L109:.ascii "x = 0x%x (default)\012\000"
                    490: L106:.ascii "x = 0x%x\012\000"
                    491: L100:.ascii "%d defaults\012\000"
                    492: L83:.ascii "i = %d\012\000"
                    493: L75:.byte 104,58,10,0
                    494: L63:.ascii "6 %d\012\000"
                    495: L61:.ascii "5 %d\012\000"
                    496: L59:.ascii "d %d\012\000"
                    497: L58:.ascii "3 %d\012\000"
                    498: L56:.ascii "2 %d\012\000"
                    499: L54:.ascii "1 %d\012\000"
                    500: L46:.byte 103,58,10,0
                    501: L44:.ascii "x = %d\012\000"
                    502: L24:.byte 102,58,10,0
                    503: L7:.ascii "%c = 0x%x\012\000"
                    504: L6:.ascii "bfnrtvx\000"

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.