Annotation of researchv10no/cmd/lcc/gen2/mips-iris/tst/switch.s, revision 1.1.1.1

1.1       root        1: .set reorder
                      2: .text
                      3: .globl main
                      4: .text
                      5: .align 2; .ent main
                      6: main:
                      7: $fp1=32
                      8: .frame $sp,32,$31
                      9: addu $sp,$sp,-32
                     10: .mask 0xc0800000,-8
                     11: sw $23,16($sp)
                     12: sw $30,20($sp)
                     13: sw $31,24($sp)
                     14: la $30,L.6
                     15: b L.5
                     16: L.2:
                     17: lb $4,($30)
                     18: jal backslash  # int
                     19: la $4,L.7
                     20: lb $5,($30)
                     21: move $6,$2
                     22: jal printf  # int
                     23: L.3:
                     24: addu $30,$30,1
                     25: L.5:
                     26: lb $25,($30)
                     27: bne $25,$0,L.2
                     28: jal f  # int
                     29: jal g  # int
                     30: jal h  # int
                     31: li $23,16777216
                     32: b L.11
                     33: L.8:
                     34: move $4,$23
                     35: jal big  # int
                     36: L.9:
                     37: addu $23,$23,16777216
                     38: L.11:
                     39: and $25,$23,0x7000000
                     40: bne $25,$0,L.8
                     41: jal limit  # int
                     42: move $2,$0
                     43: L.1:
                     44: lw $23,16($sp)
                     45: lw $30,20($sp)
                     46: lw $31,24($sp)
                     47: addu $sp,$sp,32
                     48: j $31
                     49: .end main
                     50: .globl backslash
                     51: .text
                     52: .align 2; .ent backslash
                     53: backslash:
                     54: $fp2=0
                     55: .frame $sp,0,$31
                     56: beq $4,110,L.17
                     57: bgt $4,110,L.21
                     58: beq $4,102,L.16
                     59: bgt $4,102,L.13
                     60: beq $4,98,L.15
                     61: b L.13
                     62: L.21:
                     63: beq $4,114,L.18
                     64: beq $4,116,L.19
                     65: beq $4,118,L.20
                     66: b L.13
                     67: L.15:
                     68: li $2,8
                     69: b L.12
                     70: L.16:
                     71: li $2,12
                     72: b L.12
                     73: L.17:
                     74: li $2,10
                     75: b L.12
                     76: L.18:
                     77: li $2,13
                     78: b L.12
                     79: L.19:
                     80: li $2,9
                     81: b L.12
                     82: L.20:
                     83: li $2,11
                     84: b L.12
                     85: L.13:
                     86: move $2,$4
                     87: L.12:
                     88: j $31
                     89: .end backslash
                     90: .globl f
                     91: .text
                     92: .align 2; .ent f
                     93: f:
                     94: $fp3=32
                     95: .frame $sp,32,$31
                     96: addu $sp,$sp,-32
                     97: .mask 0xc0c00000,-4
                     98: sw $22,16($sp)
                     99: sw $23,20($sp)
                    100: sw $30,24($sp)
                    101: sw $31,28($sp)
                    102: move $23,$0
                    103: la $4,L.23
                    104: jal printf  # int
                    105: move $30,$0
                    106: L.24:
                    107: move $22,$30
                    108: blt $30,1,L.28
                    109: bgt $30,20,L.28
                    110: sll $25,$30,2
                    111: lw $25,L.41-4($25)
                    112: j $25
                    113: L.41:
                    114: .align 2; .word L.30
                    115: .align 2; .word L.31
                    116: .align 2; .word L.28
                    117: .align 2; .word L.28
                    118: .align 2; .word L.28
                    119: .align 2; .word L.28
                    120: .align 2; .word L.32
                    121: .align 2; .word L.33
                    122: .align 2; .word L.34
                    123: .align 2; .word L.28
                    124: .align 2; .word L.28
                    125: .align 2; .word L.28
                    126: .align 2; .word L.28
                    127: .align 2; .word L.28
                    128: .align 2; .word L.28
                    129: .align 2; .word L.35
                    130: .align 2; .word L.36
                    131: .align 2; .word L.37
                    132: .align 2; .word L.38
                    133: .align 2; .word L.39
                    134: L.30:
                    135: move $23,$30
                    136: b L.29
                    137: L.31:
                    138: move $23,$30
                    139: b L.29
                    140: L.32:
                    141: move $23,$30
                    142: b L.29
                    143: L.33:
                    144: move $23,$30
                    145: b L.29
                    146: L.34:
                    147: move $23,$30
                    148: b L.29
                    149: L.35:
                    150: move $23,$30
                    151: b L.29
                    152: L.36:
                    153: move $23,$30
                    154: b L.29
                    155: L.37:
                    156: move $23,$30
                    157: b L.29
                    158: L.38:
                    159: move $23,$30
                    160: b L.29
                    161: L.39:
                    162: move $23,$30
                    163: L.28:
                    164: L.29:
                    165: la $4,L.43
                    166: move $5,$23
                    167: jal printf  # int
                    168: L.25:
                    169: addu $30,$30,1
                    170: ble $30,20,L.24
                    171: L.22:
                    172: lw $22,16($sp)
                    173: lw $23,20($sp)
                    174: lw $30,24($sp)
                    175: lw $31,28($sp)
                    176: addu $sp,$sp,32
                    177: j $31
                    178: .end f
                    179: .globl g
                    180: .text
                    181: .align 2; .ent g
                    182: g:
                    183: $fp4=24
                    184: .frame $sp,24,$31
                    185: addu $sp,$sp,-24
                    186: .mask 0xc0000000,-4
                    187: sw $30,16($sp)
                    188: sw $31,20($sp)
                    189: la $4,L.45
                    190: jal printf  # int
                    191: li $30,1
                    192: L.46:
                    193: blt $30,1001,L.64
                    194: bgt $30,1004,L.63
                    195: sll $25,$30,2
                    196: lw $25,L.65-4004($25)
                    197: j $25
                    198: L.65:
                    199: .align 2; .word L.59
                    200: .align 2; .word L.59
                    201: .align 2; .word L.59
                    202: .align 2; .word L.59
                    203: L.64:
                    204: blt $30,1,L.50
                    205: bgt $30,8,L.50
                    206: sll $25,$30,2
                    207: lw $25,L.68-4($25)
                    208: j $25
                    209: L.68:
                    210: .align 2; .word L.52
                    211: .align 2; .word L.52
                    212: .align 2; .word L.54
                    213: .align 2; .word L.54
                    214: .align 2; .word L.54
                    215: .align 2; .word L.56
                    216: .align 2; .word L.56
                    217: .align 2; .word L.56
                    218: L.67:
                    219: L.63:
                    220: blt $30,3001,L.50
                    221: bgt $30,3004,L.50
                    222: sll $25,$30,2
                    223: lw $25,L.71-12004($25)
                    224: j $25
                    225: L.71:
                    226: .align 2; .word L.61
                    227: .align 2; .word L.61
                    228: .align 2; .word L.61
                    229: .align 2; .word L.61
                    230: L.52:
                    231: la $4,L.53
                    232: move $5,$30
                    233: jal printf  # int
                    234: b L.51
                    235: L.54:
                    236: la $4,L.55
                    237: move $5,$30
                    238: jal printf  # int
                    239: b L.51
                    240: L.56:
                    241: la $4,L.57
                    242: move $5,$30
                    243: jal printf  # int
                    244: L.50:
                    245: la $4,L.58
                    246: move $5,$30
                    247: jal printf  # int
                    248: b L.51
                    249: L.59:
                    250: la $4,L.60
                    251: move $5,$30
                    252: jal printf  # int
                    253: b L.51
                    254: L.61:
                    255: la $4,L.62
                    256: move $5,$30
                    257: jal printf  # int
                    258: L.51:
                    259: L.47:
                    260: addu $30,$30,1
                    261: ble $30,10,L.46
                    262: L.44:
                    263: lw $30,16($sp)
                    264: lw $31,20($sp)
                    265: addu $sp,$sp,24
                    266: j $31
                    267: .end g
                    268: .globl h
                    269: .text
                    270: .align 2; .ent h
                    271: h:
                    272: $fp5=32
                    273: .frame $sp,32,$31
                    274: addu $sp,$sp,-32
                    275: .mask 0xc0800000,-8
                    276: sw $23,16($sp)
                    277: sw $30,20($sp)
                    278: sw $31,24($sp)
                    279: move $23,$0
                    280: la $4,L.74
                    281: jal printf  # int
                    282: li $30,1
                    283: L.75:
                    284: beq $30,128,L.81
                    285: bgt $30,128,L.94
                    286: beq $30,16,L.83
                    287: bgt $30,16,L.95
                    288: beq $30,8,L.84
                    289: b L.79
                    290: L.95:
                    291: beq $30,120,L.85
                    292: b L.79
                    293: L.94:
                    294: beq $30,280,L.86
                    295: bgt $30,280,L.96
                    296: beq $30,264,L.87
                    297: bgt $30,264,L.97
                    298: beq $30,248,L.88
                    299: b L.79
                    300: L.97:
                    301: beq $30,272,L.89
                    302: b L.79
                    303: L.96:
                    304: beq $30,304,L.90
                    305: bgt $30,304,L.98
                    306: beq $30,296,L.91
                    307: bgt $30,296,L.79
                    308: beq $30,288,L.92
                    309: b L.79
                    310: L.98:
                    311: beq $30,312,L.93
                    312: b L.79
                    313: L.79:
                    314: addu $23,$23,1
                    315: b L.76
                    316: L.81:
                    317: la $4,L.82
                    318: move $5,$30
                    319: jal printf  # int
                    320: b L.80
                    321: L.83:
                    322: la $4,L.82
                    323: move $5,$30
                    324: jal printf  # int
                    325: b L.80
                    326: L.84:
                    327: la $4,L.82
                    328: move $5,$30
                    329: jal printf  # int
                    330: b L.80
                    331: L.85:
                    332: la $4,L.82
                    333: move $5,$30
                    334: jal printf  # int
                    335: b L.80
                    336: L.86:
                    337: la $4,L.82
                    338: move $5,$30
                    339: jal printf  # int
                    340: b L.80
                    341: L.87:
                    342: la $4,L.82
                    343: move $5,$30
                    344: jal printf  # int
                    345: b L.80
                    346: L.88:
                    347: la $4,L.82
                    348: move $5,$30
                    349: jal printf  # int
                    350: b L.80
                    351: L.89:
                    352: la $4,L.82
                    353: move $5,$30
                    354: jal printf  # int
                    355: b L.80
                    356: L.90:
                    357: la $4,L.82
                    358: move $5,$30
                    359: jal printf  # int
                    360: b L.80
                    361: L.91:
                    362: la $4,L.82
                    363: move $5,$30
                    364: jal printf  # int
                    365: b L.80
                    366: L.92:
                    367: la $4,L.82
                    368: move $5,$30
                    369: jal printf  # int
                    370: b L.80
                    371: L.93:
                    372: la $4,L.82
                    373: move $5,$30
                    374: jal printf  # int
                    375: L.80:
                    376: L.76:
                    377: addu $30,$30,1
                    378: ble $30,500,L.75
                    379: la $4,L.99
                    380: move $5,$23
                    381: jal printf  # int
                    382: L.73:
                    383: lw $23,16($sp)
                    384: lw $30,20($sp)
                    385: lw $31,24($sp)
                    386: addu $sp,$sp,32
                    387: j $31
                    388: .end h
                    389: .globl big
                    390: .text
                    391: .align 2; .ent big
                    392: big:
                    393: $fp6=24
                    394: .frame $sp,24,$31
                    395: addu $sp,$sp,-24
                    396: .mask 0xc0000000,-4
                    397: sw $30,16($sp)
                    398: sw $31,20($sp)
                    399: sw $4,24($sp)
                    400: lw $25,$fp6+0($sp)
                    401: and $30,$25,0x6000000
                    402: beq $30,33554432,L.106
                    403: bgt $30,33554432,L.109
                    404: beq $30,-2,L.104
                    405: beq $30,-1,L.104
                    406: beq $30,$0,L.104
                    407: b L.101
                    408: L.109:
                    409: beq $30,67108864,L.107
                    410: b L.101
                    411: L.104:
                    412: la $4,L.105
                    413: lw $5,$fp6+0($sp)
                    414: jal printf  # int
                    415: b L.102
                    416: L.106:
                    417: la $4,L.105
                    418: lw $5,$fp6+0($sp)
                    419: jal printf  # int
                    420: b L.102
                    421: L.107:
                    422: la $4,L.105
                    423: lw $5,$fp6+0($sp)
                    424: jal printf  # int
                    425: b L.102
                    426: L.101:
                    427: la $4,L.108
                    428: lw $5,$fp6+0($sp)
                    429: jal printf  # int
                    430: L.102:
                    431: L.100:
                    432: lw $30,16($sp)
                    433: lw $31,20($sp)
                    434: addu $sp,$sp,24
                    435: j $31
                    436: .end big
                    437: .globl limit
                    438: .text
                    439: .align 2; .ent limit
                    440: limit:
                    441: $fp7=24
                    442: .frame $sp,24,$31
                    443: addu $sp,$sp,-24
                    444: .mask 0xc0000000,-4
                    445: sw $30,16($sp)
                    446: sw $31,20($sp)
                    447: li $30,-2147483648
                    448: L.111:
                    449: blt $30,-2147483648,L.115
                    450: bgt $30,-2147483644,L.115
                    451: sll $25,$30,2
                    452: li $24,-2147483648
                    453: sll $24,$24,2
                    454: subu $25,$25,$24
                    455: lw $25,L.129($25)
                    456: j $25
                    457: L.129:
                    458: .align 2; .word L.117
                    459: .align 2; .word L.119
                    460: .align 2; .word L.121
                    461: .align 2; .word L.123
                    462: .align 2; .word L.125
                    463: L.117:
                    464: la $4,L.118
                    465: jal printf  # int
                    466: b L.116
                    467: L.119:
                    468: la $4,L.120
                    469: jal printf  # int
                    470: b L.116
                    471: L.121:
                    472: la $4,L.122
                    473: jal printf  # int
                    474: b L.116
                    475: L.123:
                    476: la $4,L.124
                    477: jal printf  # int
                    478: b L.116
                    479: L.125:
                    480: la $4,L.126
                    481: jal printf  # int
                    482: b L.116
                    483: L.115:
                    484: la $4,L.127
                    485: jal printf  # int
                    486: L.116:
                    487: L.112:
                    488: addu $30,$30,1
                    489: ble $30,-2147483643,L.111
                    490: li $30,2147483647
                    491: L.130:
                    492: blt $30,2147483643,L.134
                    493: bgt $30,2147483647,L.134
                    494: sll $25,$30,2
                    495: li $24,2147483643
                    496: sll $24,$24,2
                    497: subu $25,$25,$24
                    498: lw $25,L.142($25)
                    499: j $25
                    500: L.142:
                    501: .align 2; .word L.140
                    502: .align 2; .word L.139
                    503: .align 2; .word L.138
                    504: .align 2; .word L.137
                    505: .align 2; .word L.136
                    506: L.136:
                    507: la $4,L.118
                    508: jal printf  # int
                    509: b L.135
                    510: L.137:
                    511: la $4,L.120
                    512: jal printf  # int
                    513: b L.135
                    514: L.138:
                    515: la $4,L.122
                    516: jal printf  # int
                    517: b L.135
                    518: L.139:
                    519: la $4,L.124
                    520: jal printf  # int
                    521: b L.135
                    522: L.140:
                    523: la $4,L.126
                    524: jal printf  # int
                    525: b L.135
                    526: L.134:
                    527: la $4,L.127
                    528: jal printf  # int
                    529: L.135:
                    530: L.131:
                    531: subu $30,$30,1
                    532: bge $30,2147483642,L.130
                    533: L.110:
                    534: lw $30,16($sp)
                    535: lw $31,20($sp)
                    536: addu $sp,$sp,24
                    537: j $31
                    538: .end limit
                    539: .rdata
                    540: L.127:.byte 53,10,0
                    541: L.126:.byte 52,10,0
                    542: L.124:.byte 51,10,0
                    543: L.122:.byte 50,10,0
                    544: L.120:.byte 49,10,0
                    545: L.118:.byte 48,10,0
                    546: L.108:.ascii "x = 0x%x (default)\012\000"
                    547: L.105:.ascii "x = 0x%x\012\000"
                    548: L.99:.ascii "%d defaults\012\000"
                    549: L.82:.ascii "i = %d\012\000"
                    550: L.74:.byte 104,58,10,0
                    551: L.62:.ascii "6 %d\012\000"
                    552: L.60:.ascii "5 %d\012\000"
                    553: L.58:.ascii "d %d\012\000"
                    554: L.57:.ascii "3 %d\012\000"
                    555: L.55:.ascii "2 %d\012\000"
                    556: L.53:.ascii "1 %d\012\000"
                    557: L.45:.byte 103,58,10,0
                    558: L.43:.ascii "x = %d\012\000"
                    559: L.23:.byte 102,58,10,0
                    560: L.7:.ascii "%c = 0x%x\012\000"
                    561: L.6:.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.