Annotation of researchv10no/cmd/lcc/gen3/tst/wf1.s, revision 1.1.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.