Annotation of researchv10no/cmd/lcc/gen2/mc-sun/tst/wf1.s, revision 1.1

1.1     ! root        1: .text
        !             2: .globl _main
        !             3: .align 2
        !             4: _main:link a6,#-36
        !             5: moveml #0x400,a6@(-28)
        !             6: clrl a6@(-24)
        !             7: clrl _next:l
        !             8: jra L3
        !             9: L2:
        !            10: lea a6@(-20),a2
        !            11: movl a2,sp@
        !            12: lea a6@(-24),a2
        !            13: movl a2,sp@(4)
        !            14: jbsr _lookup:l
        !            15: movl d0,a2
        !            16: addql #1,a2@
        !            17: L3:
        !            18: lea a6@(-20),a2
        !            19: movl a2,sp@
        !            20: jbsr _getword:l
        !            21: tstl d0; jne L2
        !            22: movl a6@(-24),sp@
        !            23: jbsr _tprint:l
        !            24: clrl d0
        !            25: L1:
        !            26: moveml a6@(-28),#0x400
        !            27: unlk a6
        !            28: rts
        !            29: .globl _err
        !            30: .align 2
        !            31: _err:link a6,#-8
        !            32: movl #L6,sp@
        !            33: movl a6@(8),sp@(4)
        !            34: jbsr _printf:l
        !            35: movl #1,sp@
        !            36: jbsr _exit:l
        !            37: L5:
        !            38: unlk a6
        !            39: rts
        !            40: .globl _getword
        !            41: .align 2
        !            42: _getword:link a6,#-20
        !            43: moveml #0x2490,a6@(-16)
        !            44: L8:
        !            45: L9:
        !            46: jbsr _getchar:l
        !            47: movl d0,d7
        !            48: cmpl #-1,d0; jeq L11
        !            49: movl d7,sp@
        !            50: jbsr _isletter:l
        !            51: tstl d0; jeq L8
        !            52: L11:
        !            53: movl a6@(8),a5
        !            54: jra L15
        !            55: L12:
        !            56: movl a5,a2
        !            57: lea a2@(1),a5
        !            58: movb d7,a2@
        !            59: L13:
        !            60: jbsr _getchar:l
        !            61: movl d0,d7
        !            62: L15:
        !            63: movl d7,sp@
        !            64: jbsr _isletter:l
        !            65: movl d0,d7
        !            66: tstl d0; jne L12
        !            67: clrb a5@
        !            68: movl a5,d4
        !            69: cmpl a6@(8),d4; jls L16
        !            70: movl #1,d0
        !            71: jra L7
        !            72: L16:
        !            73: clrl d0
        !            74: L7:
        !            75: moveml a6@(-16),#0x2490
        !            76: unlk a6
        !            77: rts
        !            78: .globl _isletter
        !            79: .align 2
        !            80: _isletter:link a6,#-0
        !            81: movl a6@(8),d1
        !            82: cmpl #65,d1; jlt L19
        !            83: cmpl #90,d1; jgt L19
        !            84: addl #32,d1
        !            85: L19:
        !            86: cmpl #97,d1; jlt L21
        !            87: cmpl #122,d1; jgt L21
        !            88: movl d1,d0
        !            89: jra L18
        !            90: L21:
        !            91: clrl d0
        !            92: L18:
        !            93: unlk a6
        !            94: rts
        !            95: .globl _lookup
        !            96: .align 2
        !            97: _lookup:link a6,#-28
        !            98: moveml #0x2418,a6@(-20)
        !            99: movl a6@(12),a5
        !           100: tstl a5@; jeq L24
        !           101: movl a6@(8),sp@
        !           102: movl a5@,a2
        !           103: movl a2@(12),sp@(4)
        !           104: jbsr _strcmp:l
        !           105: movl d0,a6@(-4)
        !           106: tstl a6@(-4); jge L26
        !           107: movl a6@(8),sp@
        !           108: movl a5@,a2
        !           109: lea a2@(4),a2
        !           110: movl a2,sp@(4)
        !           111: jbsr _lookup:l
        !           112: movl d0,d0
        !           113: jra L23
        !           114: L26:
        !           115: tstl a6@(-4); jle L28
        !           116: movl a6@(8),sp@
        !           117: movl a5@,a2
        !           118: lea a2@(8),a2
        !           119: movl a2,sp@(4)
        !           120: jbsr _lookup:l
        !           121: movl d0,d0
        !           122: jra L23
        !           123: L28:
        !           124: movl a5@,d0
        !           125: jra L23
        !           126: L24:
        !           127: cmpl #2000,_next:l; jlt L30
        !           128: movl #L32,sp@
        !           129: jbsr _err:l
        !           130: L30:
        !           131: movl _next:l,d4
        !           132: asll #4,d4
        !           133: clrl @(_words:l,d4:l:1)
        !           134: movl _next:l,d4
        !           135: asll #4,d4
        !           136: clrl @(_words+8:l,d4:l:1)
        !           137: clrl @(_words+4:l,d4:l:1)
        !           138: movl a6@(8),sp@
        !           139: jbsr _strlen:l
        !           140: movl d0,d4; addql #1,d4
        !           141: movl d4,sp@
        !           142: jbsr _malloc:l
        !           143: movl _next:l,d4
        !           144: asll #4,d4
        !           145: movl d0,@(_words+12:l,d4:l:1)
        !           146: movl _next:l,d4
        !           147: asll #4,d4
        !           148: tstl @(_words+12:l,d4:l:1); jne L36
        !           149: movl #L39,sp@
        !           150: jbsr _err:l
        !           151: L36:
        !           152: movl _next:l,d4
        !           153: asll #4,d4
        !           154: movl @(_words+12:l,d4:l:1),sp@
        !           155: movl a6@(8),sp@(4)
        !           156: jbsr _strcpy:l
        !           157: movl _next:l,d4
        !           158: movl d4,d3; addql #1,d3
        !           159: movl d3,_next:l
        !           160: asll #4,d4
        !           161: lea @(_words:l,d4:l:1),a2
        !           162: movl a2,a5@
        !           163: movl a2,d0
        !           164: L23:
        !           165: moveml a6@(-20),#0x2418
        !           166: unlk a6
        !           167: rts
        !           168: .globl _tprint
        !           169: .align 2
        !           170: _tprint:link a6,#-16
        !           171: moveml #0x2000,a6@(-4)
        !           172: movl a6@(8),a5
        !           173: cmpl #0,a5; jeq L42
        !           174: movl a5@(4),sp@
        !           175: jbsr _tprint:l
        !           176: movl #L44,sp@
        !           177: movl a5@,sp@(4)
        !           178: movl a5@(12),sp@(8)
        !           179: jbsr _printf:l
        !           180: movl a5@(8),sp@
        !           181: jbsr _tprint:l
        !           182: L42:
        !           183: L41:
        !           184: moveml a6@(-4),#0x2000
        !           185: unlk a6
        !           186: rts
        !           187: .globl _strcmp
        !           188: .align 2
        !           189: _strcmp:link a6,#-12
        !           190: moveml #0x418,a6@(-12)
        !           191: movl a6@(8),a0
        !           192: movl a6@(12),a1
        !           193: jra L47
        !           194: L46:
        !           195: movl a0,a2
        !           196: lea a2@(1),a0
        !           197: tstb a2@; jne L49
        !           198: clrl d0
        !           199: jra L45
        !           200: L49:
        !           201: addql #1,a1
        !           202: L47:
        !           203: movb a0@,d4
        !           204: cmpb a1@,d4; jeq L46
        !           205: tstb a0@; jne L51
        !           206: movl #-1,d0
        !           207: jra L45
        !           208: L51:
        !           209: tstb a1@; jne L53
        !           210: movl #1,d0
        !           211: jra L45
        !           212: L53:
        !           213: movb a0@,d4
        !           214: extbl d4
        !           215: movb a1@,d3
        !           216: extbl d3
        !           217: movl d4,d0; subl d3,d0
        !           218: L45:
        !           219: moveml a6@(-12),#0x418
        !           220: unlk a6
        !           221: rts
        !           222: .bss
        !           223: .globl _next
        !           224: .comm _next,4
        !           225: .globl _words
        !           226: .comm _words,32000
        !           227: .text
        !           228: .align 2; L44:.ascii "%d\011%s\012\000"
        !           229: .align 2; L39:.ascii "out of word storage\000"
        !           230: .align 2; L32:.ascii "out of node storage\000"
        !           231: .align 2; L6:.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.