Annotation of researchv10no/cmd/lcc/gen3/tst/wf1.s, revision 1.1

1.1     ! root        1: .text
        !             2: .globl _main
        !             3: _main:.word 0x0
        !             4: subl2 $80,sp
        !             5: moval -24(fp),r1
        !             6: movl $0,r2
        !             7: movl r2,(r1)
        !             8: moval _next,r1
        !             9: movl $0,r2
        !            10: movl r2,(r1)
        !            11: moval L2,r1
        !            12: jmp (r1)
        !            13: L1:moval -20(fp),r1
        !            14: movl r1,0(sp)
        !            15: moval -24(fp),r1
        !            16: movl r1,4(sp)
        !            17: moval _lookup,r1
        !            18: calls $0,(r1)
        !            19: movl r0,r1
        !            20: movl r1,r1
        !            21: movl (r1),r2
        !            22: movl $1,r3
        !            23: addl3 r3,r2,r2
        !            24: movl r2,(r1)
        !            25: L2:moval -20(fp),r1
        !            26: movl r1,0(sp)
        !            27: moval _getword,r1
        !            28: calls $0,(r1)
        !            29: movl r0,r1
        !            30: movl $0,r2
        !            31: cmpl r1,r2; jneq L1
        !            32: moval -24(fp),r1
        !            33: movl (r1),r1
        !            34: movl r1,0(sp)
        !            35: moval _tprint,r1
        !            36: calls $0,(r1)
        !            37: movl r0,r1
        !            38: movl $0,r1
        !            39: movl r1,r0; ret
        !            40: .globl _err
        !            41: _err:.word 0x0
        !            42: subl2 $56,sp
        !            43: moval _4,r1
        !            44: movl r1,0(sp)
        !            45: moval 4(ap),r1
        !            46: movl (r1),r1
        !            47: movl r1,4(sp)
        !            48: moval _printf,r1
        !            49: calls $0,(r1)
        !            50: movl r0,r1
        !            51: movl $1,r1
        !            52: movl r1,0(sp)
        !            53: moval _exit,r1
        !            54: calls $0,(r1)
        !            55: movl r0,r1
        !            56: ret
        !            57: .globl _getword
        !            58: _getword:.word 0x0
        !            59: subl2 $60,sp
        !            60: L5:L6:moval _getchar,r1
        !            61: calls $0,(r1)
        !            62: movl r0,r1
        !            63: moval -4(fp),r2
        !            64: movl r1,(r2)
        !            65: movl $-1,r2
        !            66: cmpl r1,r2; jeql L8
        !            67: moval -4(fp),r1
        !            68: movl (r1),r1
        !            69: movl r1,0(sp)
        !            70: moval _isletter,r1
        !            71: calls $0,(r1)
        !            72: movl r0,r1
        !            73: movl $0,r2
        !            74: cmpl r1,r2; jeql L5
        !            75: L8:moval -8(fp),r1
        !            76: moval 4(ap),r2
        !            77: movl (r2),r2
        !            78: movl r2,(r1)
        !            79: moval L12,r1
        !            80: jmp (r1)
        !            81: L9:moval -8(fp),r1
        !            82: movl (r1),r2
        !            83: movl $1,r3
        !            84: addl3 r3,r2,r3
        !            85: movl r3,(r1)
        !            86: moval -4(fp),r1
        !            87: movl (r1),r1
        !            88: cvtlb r1,r1
        !            89: movb r1,(r2)
        !            90: L10:moval _getchar,r1
        !            91: calls $0,(r1)
        !            92: movl r0,r1
        !            93: moval -4(fp),r2
        !            94: movl r1,(r2)
        !            95: L12:moval -4(fp),r1
        !            96: movl (r1),r2
        !            97: movl r2,0(sp)
        !            98: moval _isletter,r2
        !            99: movl r1,-52(fp)
        !           100: calls $0,(r2)
        !           101: movl r0,r2
        !           102: movl -52(fp),r1
        !           103: movl r2,(r1)
        !           104: movl $0,r1
        !           105: cmpl r2,r1; jneq L9
        !           106: moval -8(fp),r1
        !           107: movl (r1),r1
        !           108: movl $0,r2
        !           109: movb r2,(r1)
        !           110: moval -8(fp),r1
        !           111: movl (r1),r1
        !           112: movl r1,r1
        !           113: moval 4(ap),r2
        !           114: movl (r2),r2
        !           115: movl r2,r2
        !           116: cmpl r1,r2; jlequ L13
        !           117: movl $1,r1
        !           118: movl r1,r0; ret
        !           119: L13:movl $0,r1
        !           120: movl r1,r0; ret
        !           121: .globl _isletter
        !           122: _isletter:.word 0x0
        !           123: subl2 $48,sp
        !           124: moval 4(ap),r1
        !           125: movl (r1),r1
        !           126: movl $65,r2
        !           127: cmpl r1,r2; jlss L15
        !           128: movl $90,r2
        !           129: cmpl r1,r2; jgtr L15
        !           130: moval 4(ap),r1
        !           131: movl (r1),r2
        !           132: movl $32,r3
        !           133: addl3 r3,r2,r2
        !           134: movl r2,(r1)
        !           135: L15:moval 4(ap),r1
        !           136: movl (r1),r1
        !           137: movl $97,r2
        !           138: cmpl r1,r2; jlss L17
        !           139: movl $122,r2
        !           140: cmpl r1,r2; jgtr L17
        !           141: moval 4(ap),r1
        !           142: movl (r1),r1
        !           143: movl r1,r0; ret
        !           144: L17:movl $0,r1
        !           145: movl r1,r0; ret
        !           146: .globl _lookup
        !           147: _lookup:.word 0x0
        !           148: subl2 $60,sp
        !           149: moval 8(ap),r1
        !           150: movl (r1),r1
        !           151: movl (r1),r1
        !           152: movl r1,r1
        !           153: movl $0,r2
        !           154: cmpl r1,r2; jeqlu L19
        !           155: moval 4(ap),r1
        !           156: movl (r1),r1
        !           157: movl r1,0(sp)
        !           158: moval 8(ap),r1
        !           159: movl (r1),r1
        !           160: movl (r1),r1
        !           161: movl $12,r2
        !           162: addl3 r2,r1,r1
        !           163: movl (r1),r1
        !           164: movl r1,4(sp)
        !           165: moval _strcmp,r1
        !           166: calls $0,(r1)
        !           167: movl r0,r1
        !           168: moval -4(fp),r2
        !           169: movl r1,(r2)
        !           170: moval -4(fp),r1
        !           171: movl (r1),r1
        !           172: movl $0,r2
        !           173: cmpl r1,r2; jgeq L21
        !           174: moval 4(ap),r1
        !           175: movl (r1),r1
        !           176: movl r1,0(sp)
        !           177: moval 8(ap),r1
        !           178: movl (r1),r1
        !           179: movl (r1),r1
        !           180: movl $4,r2
        !           181: addl3 r2,r1,r1
        !           182: movl r1,4(sp)
        !           183: moval _lookup,r1
        !           184: calls $0,(r1)
        !           185: movl r0,r1
        !           186: movl r1,r1
        !           187: movl r1,r1
        !           188: movl r1,r0; ret
        !           189: L21:moval -4(fp),r1
        !           190: movl (r1),r1
        !           191: movl $0,r2
        !           192: cmpl r1,r2; jleq L23
        !           193: moval 4(ap),r1
        !           194: movl (r1),r1
        !           195: movl r1,0(sp)
        !           196: moval 8(ap),r1
        !           197: movl (r1),r1
        !           198: movl (r1),r1
        !           199: movl $8,r2
        !           200: addl3 r2,r1,r1
        !           201: movl r1,4(sp)
        !           202: moval _lookup,r1
        !           203: calls $0,(r1)
        !           204: movl r0,r1
        !           205: movl r1,r1
        !           206: movl r1,r1
        !           207: movl r1,r0; ret
        !           208: L23:moval 8(ap),r1
        !           209: movl (r1),r1
        !           210: movl (r1),r1
        !           211: movl r1,r1
        !           212: movl r1,r0; ret
        !           213: L19:moval _next,r1
        !           214: movl (r1),r1
        !           215: movl $2000,r2
        !           216: cmpl r1,r2; jlss L25
        !           217: moval _27,r1
        !           218: movl r1,0(sp)
        !           219: moval _err,r1
        !           220: calls $0,(r1)
        !           221: movl r0,r1
        !           222: L25:moval _next,r1
        !           223: movl (r1),r1
        !           224: movl $4,r2
        !           225: ashl r2,r1,r1
        !           226: moval _words,r2
        !           227: addl3 r2,r1,r1
        !           228: movl $0,r2
        !           229: movl r2,(r1)
        !           230: moval _next,r1
        !           231: movl (r1),r1
        !           232: movl $4,r2
        !           233: ashl r2,r1,r1
        !           234: moval _words+8,r2
        !           235: addl3 r2,r1,r2
        !           236: movl $0,r3
        !           237: movl r3,(r2)
        !           238: moval _words+4,r2
        !           239: addl3 r2,r1,r1
        !           240: movl r3,(r1)
        !           241: moval 4(ap),r1
        !           242: movl (r1),r1
        !           243: movl r1,0(sp)
        !           244: moval _strlen,r1
        !           245: calls $0,(r1)
        !           246: movl r0,r1
        !           247: movl $1,r2
        !           248: addl3 r2,r1,r1
        !           249: movl r1,0(sp)
        !           250: moval _malloc,r1
        !           251: calls $0,(r1)
        !           252: movl r0,r1
        !           253: moval _next,r2
        !           254: movl (r2),r2
        !           255: movl $4,r3
        !           256: ashl r3,r2,r2
        !           257: moval _words+12,r3
        !           258: addl3 r3,r2,r2
        !           259: movl r1,r1
        !           260: movl r1,(r2)
        !           261: moval _next,r1
        !           262: movl (r1),r1
        !           263: movl $4,r2
        !           264: ashl r2,r1,r1
        !           265: moval _words+12,r2
        !           266: addl3 r2,r1,r1
        !           267: movl (r1),r1
        !           268: movl r1,r1
        !           269: movl $0,r2
        !           270: cmpl r1,r2; jnequ L31
        !           271: moval _34,r1
        !           272: movl r1,0(sp)
        !           273: moval _err,r1
        !           274: calls $0,(r1)
        !           275: movl r0,r1
        !           276: L31:moval _next,r1
        !           277: movl (r1),r1
        !           278: movl $4,r2
        !           279: ashl r2,r1,r1
        !           280: moval _words+12,r2
        !           281: addl3 r2,r1,r1
        !           282: movl (r1),r1
        !           283: movl r1,0(sp)
        !           284: moval 4(ap),r1
        !           285: movl (r1),r1
        !           286: movl r1,4(sp)
        !           287: moval _strcpy,r1
        !           288: calls $0,(r1)
        !           289: movl r0,r1
        !           290: moval _next,r1
        !           291: movl (r1),r2
        !           292: movl $1,r3
        !           293: addl3 r3,r2,r3
        !           294: movl r3,(r1)
        !           295: moval 8(ap),r1
        !           296: movl (r1),r1
        !           297: movl $4,r3
        !           298: ashl r3,r2,r2
        !           299: moval _words,r3
        !           300: addl3 r3,r2,r2
        !           301: movl r2,(r1)
        !           302: movl r2,r1
        !           303: movl r1,r0; ret
        !           304: .globl _tprint
        !           305: _tprint:.word 0x0
        !           306: subl2 $60,sp
        !           307: moval 4(ap),r1
        !           308: movl (r1),r1
        !           309: movl r1,r1
        !           310: movl $0,r2
        !           311: cmpl r1,r2; jeqlu L36
        !           312: moval 4(ap),r1
        !           313: movl (r1),r1
        !           314: movl $4,r2
        !           315: addl3 r2,r1,r1
        !           316: movl (r1),r1
        !           317: movl r1,0(sp)
        !           318: moval _tprint,r1
        !           319: calls $0,(r1)
        !           320: movl r0,r1
        !           321: moval _38,r1
        !           322: movl r1,0(sp)
        !           323: moval 4(ap),r1
        !           324: movl (r1),r1
        !           325: movl (r1),r2
        !           326: movl r2,4(sp)
        !           327: movl $12,r2
        !           328: addl3 r2,r1,r1
        !           329: movl (r1),r1
        !           330: movl r1,8(sp)
        !           331: moval _printf,r1
        !           332: calls $0,(r1)
        !           333: movl r0,r1
        !           334: moval 4(ap),r1
        !           335: movl (r1),r1
        !           336: movl $8,r2
        !           337: addl3 r2,r1,r1
        !           338: movl (r1),r1
        !           339: movl r1,0(sp)
        !           340: moval _tprint,r1
        !           341: calls $0,(r1)
        !           342: movl r0,r1
        !           343: L36:ret
        !           344: .globl _strcmp
        !           345: _strcmp:.word 0x0
        !           346: subl2 $48,sp
        !           347: moval L40,r1
        !           348: jmp (r1)
        !           349: L39:moval 4(ap),r1
        !           350: movl (r1),r2
        !           351: movl $1,r3
        !           352: addl3 r3,r2,r3
        !           353: movl r3,(r1)
        !           354: movb (r2),r1
        !           355: cvtbl r1,r1
        !           356: movl $0,r2
        !           357: cmpl r1,r2; jneq L42
        !           358: movl $0,r1
        !           359: movl r1,r0; ret
        !           360: L42:moval 8(ap),r1
        !           361: movl (r1),r2
        !           362: movl $1,r3
        !           363: addl3 r3,r2,r2
        !           364: movl r2,(r1)
        !           365: L40:moval 4(ap),r1
        !           366: movl (r1),r1
        !           367: movb (r1),r1
        !           368: cvtbl r1,r1
        !           369: moval 8(ap),r2
        !           370: movl (r2),r2
        !           371: movb (r2),r2
        !           372: cvtbl r2,r2
        !           373: cmpl r1,r2; jeql L39
        !           374: moval 4(ap),r1
        !           375: movl (r1),r1
        !           376: movb (r1),r1
        !           377: cvtbl r1,r1
        !           378: movl $0,r2
        !           379: cmpl r1,r2; jneq L44
        !           380: movl $-1,r1
        !           381: movl r1,r0; ret
        !           382: L44:moval 8(ap),r1
        !           383: movl (r1),r1
        !           384: movb (r1),r1
        !           385: cvtbl r1,r1
        !           386: movl $0,r2
        !           387: cmpl r1,r2; jneq L46
        !           388: movl $1,r1
        !           389: movl r1,r0; ret
        !           390: L46:moval 4(ap),r1
        !           391: movl (r1),r1
        !           392: movb (r1),r1
        !           393: cvtbl r1,r1
        !           394: moval 8(ap),r2
        !           395: movl (r2),r2
        !           396: movb (r2),r2
        !           397: cvtbl r2,r2
        !           398: subl3 r2,r1,r1
        !           399: movl r1,r0; ret
        !           400: .data
        !           401: .globl _next
        !           402: .align 2; _next:.space 4
        !           403: .globl _words
        !           404: .align 2; _words:.space 32000
        !           405: .text 1
        !           406: _38:.byte 37
        !           407: .byte 100
        !           408: .byte 9
        !           409: .byte 37
        !           410: .byte 115
        !           411: .byte 10
        !           412: .byte 0
        !           413: _34:.byte 111
        !           414: .byte 117
        !           415: .byte 116
        !           416: .byte 32
        !           417: .byte 111
        !           418: .byte 102
        !           419: .byte 32
        !           420: .byte 119
        !           421: .byte 111
        !           422: .byte 114
        !           423: .byte 100
        !           424: .byte 32
        !           425: .byte 115
        !           426: .byte 116
        !           427: .byte 111
        !           428: .byte 114
        !           429: .byte 97
        !           430: .byte 103
        !           431: .byte 101
        !           432: .byte 0
        !           433: _27:.byte 111
        !           434: .byte 117
        !           435: .byte 116
        !           436: .byte 32
        !           437: .byte 111
        !           438: .byte 102
        !           439: .byte 32
        !           440: .byte 110
        !           441: .byte 111
        !           442: .byte 100
        !           443: .byte 101
        !           444: .byte 32
        !           445: .byte 115
        !           446: .byte 116
        !           447: .byte 111
        !           448: .byte 114
        !           449: .byte 97
        !           450: .byte 103
        !           451: .byte 101
        !           452: .byte 0
        !           453: _4:.byte 63
        !           454: .byte 32
        !           455: .byte 37
        !           456: .byte 115
        !           457: .byte 10
        !           458: .byte 0
        !           459: 

unix.superglobalmegacorp.com

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