Annotation of researchv10no/cmd/lcc/gen2/mips-iris/tst/wf1.s, revision 1.1

1.1     ! root        1: .set reorder
        !             2: .text
        !             3: .globl main
        !             4: .text
        !             5: .align 2; .ent main
        !             6: main:
        !             7: $fp1=48
        !             8: .frame $sp,48,$31
        !             9: addu $sp,$sp,-48
        !            10: .mask 0x80000000,-32
        !            11: sw $31,16($sp)
        !            12: sw $0,$fp1-24($sp)
        !            13: sw $0,next
        !            14: b L.3
        !            15: L.2:
        !            16: la $4,$fp1-20($sp)
        !            17: la $5,$fp1-24($sp)
        !            18: jal lookup  # int
        !            19: move $25,$2
        !            20: lw $24,($25)
        !            21: addu $24,$24,1
        !            22: sw $24,($25)
        !            23: L.3:
        !            24: la $4,$fp1-20($sp)
        !            25: jal getword  # int
        !            26: bne $2,$0,L.2
        !            27: lw $4,$fp1-24($sp)
        !            28: jal tprint  # int
        !            29: move $2,$0
        !            30: L.1:
        !            31: lw $31,16($sp)
        !            32: addu $sp,$sp,48
        !            33: j $31
        !            34: .end main
        !            35: .globl err
        !            36: .text
        !            37: .align 2; .ent err
        !            38: err:
        !            39: $fp2=24
        !            40: .frame $sp,24,$31
        !            41: addu $sp,$sp,-24
        !            42: .mask 0x80000000,-8
        !            43: sw $31,16($sp)
        !            44: sw $4,24($sp)
        !            45: la $4,L.6
        !            46: lw $5,$fp2+0($sp)
        !            47: jal printf  # int
        !            48: li $4,1
        !            49: jal exit  # int
        !            50: L.5:
        !            51: lw $31,16($sp)
        !            52: addu $sp,$sp,24
        !            53: j $31
        !            54: .end err
        !            55: .globl getword
        !            56: .text
        !            57: .align 2; .ent getword
        !            58: getword:
        !            59: $fp3=32
        !            60: .frame $sp,32,$31
        !            61: addu $sp,$sp,-32
        !            62: .mask 0xc0800000,-8
        !            63: sw $23,16($sp)
        !            64: sw $30,20($sp)
        !            65: sw $31,24($sp)
        !            66: sw $4,32($sp)
        !            67: L.8:
        !            68: L.9:
        !            69: jal getchar  # int
        !            70: move $30,$2
        !            71: beq $2,-1,L.11
        !            72: move $4,$30
        !            73: jal isletter  # int
        !            74: beq $2,$0,L.8
        !            75: L.11:
        !            76: lw $23,$fp3+0($sp)
        !            77: b L.15
        !            78: L.12:
        !            79: move $25,$23
        !            80: addu $23,$25,1
        !            81: sb $30,($25)
        !            82: L.13:
        !            83: jal getchar  # int
        !            84: move $30,$2
        !            85: L.15:
        !            86: move $4,$30
        !            87: jal isletter  # int
        !            88: move $30,$2
        !            89: bne $2,$0,L.12
        !            90: sb $0,($23)
        !            91: lw $25,$fp3+0($sp)
        !            92: bleu $23,$25,L.16
        !            93: li $2,1
        !            94: b L.7
        !            95: L.16:
        !            96: move $2,$0
        !            97: L.7:
        !            98: lw $23,16($sp)
        !            99: lw $30,20($sp)
        !           100: lw $31,24($sp)
        !           101: addu $sp,$sp,32
        !           102: j $31
        !           103: .end getword
        !           104: .globl isletter
        !           105: .text
        !           106: .align 2; .ent isletter
        !           107: isletter:
        !           108: $fp4=0
        !           109: .frame $sp,0,$31
        !           110: blt $4,65,L.19
        !           111: bgt $4,90,L.19
        !           112: addu $4,$4,32
        !           113: L.19:
        !           114: blt $4,97,L.21
        !           115: bgt $4,122,L.21
        !           116: move $2,$4
        !           117: b L.18
        !           118: L.21:
        !           119: move $2,$0
        !           120: L.18:
        !           121: j $31
        !           122: .end isletter
        !           123: .globl lookup
        !           124: .text
        !           125: .align 2; .ent lookup
        !           126: lookup:
        !           127: $fp5=32
        !           128: .frame $sp,32,$31
        !           129: addu $sp,$sp,-32
        !           130: .mask 0xc0000000,-12
        !           131: sw $30,16($sp)
        !           132: sw $31,20($sp)
        !           133: sw $4,32($sp)
        !           134: move $30,$5
        !           135: lw $25,($30)
        !           136: beq $25,$0,L.24
        !           137: lw $4,$fp5+0($sp)
        !           138: lw $25,($30)
        !           139: lw $5,12($25)
        !           140: jal strcmp  # int
        !           141: sw $2,$fp5-4($sp)
        !           142: lw $25,$fp5-4($sp)
        !           143: bge $25,$0,L.26
        !           144: lw $4,$fp5+0($sp)
        !           145: lw $25,($30)
        !           146: addu $5,$25,4
        !           147: jal lookup  # int
        !           148: b L.23
        !           149: L.26:
        !           150: lw $25,$fp5-4($sp)
        !           151: ble $25,$0,L.28
        !           152: lw $4,$fp5+0($sp)
        !           153: lw $25,($30)
        !           154: addu $5,$25,8
        !           155: jal lookup  # int
        !           156: b L.23
        !           157: L.28:
        !           158: lw $2,($30)
        !           159: b L.23
        !           160: L.24:
        !           161: lw $25,next
        !           162: blt $25,2000,L.30
        !           163: la $4,L.32
        !           164: jal err  # int
        !           165: L.30:
        !           166: lw $25,next
        !           167: sll $25,$25,4
        !           168: sw $0,words($25)
        !           169: lw $25,next
        !           170: sll $25,$25,4
        !           171: sw $0,words+8($25)
        !           172: sw $0,words+4($25)
        !           173: lw $4,$fp5+0($sp)
        !           174: jal strlen  # int
        !           175: addu $4,$2,1
        !           176: jal malloc  # int
        !           177: lw $25,next
        !           178: sll $25,$25,4
        !           179: move $24,$2
        !           180: sw $24,words+12($25)
        !           181: lw $25,next
        !           182: sll $25,$25,4
        !           183: lw $25,words+12($25)
        !           184: bne $25,$0,L.36
        !           185: la $4,L.39
        !           186: jal err  # int
        !           187: L.36:
        !           188: lw $25,next
        !           189: sll $25,$25,4
        !           190: lw $4,words+12($25)
        !           191: lw $5,$fp5+0($sp)
        !           192: jal strcpy  # int
        !           193: lw $25,next
        !           194: addu $24,$25,1
        !           195: sw $24,next
        !           196: sll $25,$25,4
        !           197: la $25,words($25)
        !           198: sw $25,($30)
        !           199: move $2,$25
        !           200: L.23:
        !           201: lw $30,16($sp)
        !           202: lw $31,20($sp)
        !           203: addu $sp,$sp,32
        !           204: j $31
        !           205: .end lookup
        !           206: .globl tprint
        !           207: .text
        !           208: .align 2; .ent tprint
        !           209: tprint:
        !           210: $fp6=24
        !           211: .frame $sp,24,$31
        !           212: addu $sp,$sp,-24
        !           213: .mask 0xc0000000,-4
        !           214: sw $30,16($sp)
        !           215: sw $31,20($sp)
        !           216: move $30,$4
        !           217: beq $30,$0,L.42
        !           218: lw $4,4($30)
        !           219: jal tprint  # int
        !           220: la $4,L.44
        !           221: lw $5,($30)
        !           222: lw $6,12($30)
        !           223: jal printf  # int
        !           224: lw $4,8($30)
        !           225: jal tprint  # int
        !           226: L.42:
        !           227: L.41:
        !           228: lw $30,16($sp)
        !           229: lw $31,20($sp)
        !           230: addu $sp,$sp,24
        !           231: j $31
        !           232: .end tprint
        !           233: .globl strcmp
        !           234: .text
        !           235: .align 2; .ent strcmp
        !           236: strcmp:
        !           237: $fp7=0
        !           238: .frame $sp,0,$31
        !           239: b L.47
        !           240: L.46:
        !           241: move $25,$4
        !           242: addu $4,$25,1
        !           243: lb $25,($25)
        !           244: bne $25,$0,L.49
        !           245: move $2,$0
        !           246: b L.45
        !           247: L.49:
        !           248: addu $5,$5,1
        !           249: L.47:
        !           250: lb $25,($4)
        !           251: lb $24,($5)
        !           252: beq $25,$24,L.46
        !           253: lb $25,($4)
        !           254: bne $25,$0,L.51
        !           255: li $2,-1
        !           256: b L.45
        !           257: L.51:
        !           258: lb $25,($5)
        !           259: bne $25,$0,L.53
        !           260: li $2,1
        !           261: b L.45
        !           262: L.53:
        !           263: lb $25,($4)
        !           264: lb $24,($5)
        !           265: subu $2,$25,$24
        !           266: L.45:
        !           267: j $31
        !           268: .end strcmp
        !           269: .globl next
        !           270: .comm next,4
        !           271: .globl words
        !           272: .comm words,32000
        !           273: .rdata
        !           274: L.44:.ascii "%d\011%s\012\000"
        !           275: L.39:.ascii "out of word storage\000"
        !           276: L.32:.ascii "out of node storage\000"
        !           277: L.6:.ascii "? %s\012\000"

unix.superglobalmegacorp.com

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