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

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