Annotation of 43BSDReno/pgrm/as.tahoe/bignum.s, revision 1.1.1.1

1.1       root        1: .data
                      2: .data
                      3: _sccsid:.long  0x40282329
                      4: .long  0x6269676e
                      5: .long  0x756d312e
                      6: .long  0x6320342e
                      7: .long  0x3420362f
                      8: .long  0x33302f38
                      9: .long  0x33000000
                     10: .comm  _rusefile,32
                     11: .comm  _relfil,4
                     12: .comm  _listfile,4
                     13: .comm  _liston,4
                     14: .comm  _Znumber,12
                     15: .text
                     16: LL0:.align     1
                     17: .globl _as_atoi
                     18: .data
                     19: L163:.long     0x10202
                     20: .long  0x3030303
                     21: .long  0x1020303
                     22: .space 4
                     23: .long  0x0
                     24: .space 4
                     25: .long  0x2030000
                     26: .space 4
                     27: .text
                     28: .data  1
                     29: L167:.ascii    "%s%s\12\0"
                     30: .text
                     31: .data  1
                     32: L168:.ascii    "n_n.num_tag != 0\0"
                     33: .text
                     34: .data  1
                     35: L169:.ascii    " Botch width computation\0"
                     36: .text
                     37: .lcomm L170,12
                     38: .set   L106,0x1c00
                     39: .data
                     40: .text
                     41: _as_atoi:.word L106
                     42: subl3  $92,fp,sp
                     43: movl   4(fp),r12
                     44: clrl   -92(fp)
                     45: clrl   -88(fp)
                     46: L112:tstb      (r12)
                     47: jeql   L111
                     48: cvtbl  (r12),r0
                     49: cmpl   r0,$43
                     50: jeql   L110
                     51: cmpl   r0,$45
                     52: jeql   L117
                     53: cmpl   r0,$48
                     54: jeql   L110
                     55: L111:movab     -72(fp),r1
                     56: movab  _Znumber,r0
                     57: movl   $12,r2
                     58: movblk
                     59: movab  -84(fp),r1
                     60: movab  _Znumber,r0
                     61: movl   $12,r2
                     62: movblk
                     63: subl3  $72,fp,r11
                     64: pushl  r11
                     65: callf  $8,_numclear
                     66: subl3  $84,fp,-56(fp)
                     67: pushl  -56(fp)
                     68: callf  $8,_numclear
                     69: L120:tstb      (r12)
                     70: jeql   L126
                     71: cvtbl  (r12),r0
                     72: casel  r0,$48,$54
                     73: .align 1
                     74: L2000007:
                     75: .word  L134-L2000007
                     76: .word  L134-L2000007
                     77: .word  L134-L2000007
                     78: .word  L134-L2000007
                     79: .word  L134-L2000007
                     80: .word  L134-L2000007
                     81: .word  L134-L2000007
                     82: .word  L134-L2000007
                     83: .word  L124-L2000007
                     84: .word  L124-L2000007
                     85: .word  L126-L2000007
                     86: .word  L126-L2000007
                     87: .word  L126-L2000007
                     88: .word  L126-L2000007
                     89: .word  L126-L2000007
                     90: .word  L126-L2000007
                     91: .word  L126-L2000007
                     92: .word  L140-L2000007
                     93: .word  L140-L2000007
                     94: .word  L140-L2000007
                     95: .word  L140-L2000007
                     96: .word  L140-L2000007
                     97: .word  L140-L2000007
                     98: .word  L126-L2000007
                     99: .word  L126-L2000007
                    100: .word  L126-L2000007
                    101: .word  L126-L2000007
                    102: .word  L126-L2000007
                    103: .word  L126-L2000007
                    104: .word  L126-L2000007
                    105: .word  L126-L2000007
                    106: .word  L126-L2000007
                    107: .word  L126-L2000007
                    108: .word  L126-L2000007
                    109: .word  L126-L2000007
                    110: .word  L126-L2000007
                    111: .word  L126-L2000007
                    112: .word  L126-L2000007
                    113: .word  L126-L2000007
                    114: .word  L126-L2000007
                    115: .word  L126-L2000007
                    116: .word  L126-L2000007
                    117: .word  L126-L2000007
                    118: .word  L126-L2000007
                    119: .word  L126-L2000007
                    120: .word  L126-L2000007
                    121: .word  L126-L2000007
                    122: .word  L126-L2000007
                    123: .word  L126-L2000007
                    124: .word  L147-L2000007
                    125: .word  L147-L2000007
                    126: .word  L147-L2000007
                    127: .word  L147-L2000007
                    128: .word  L147-L2000007
                    129: .word  L147-L2000007
                    130: L126:pushl     r11
                    131: callf  $8,_posovf
                    132: orl2   r0,-92(fp)
                    133: tstl   -88(fp)
                    134: jeql   L156
                    135: bitl   $8,-92(fp)
                    136: jeql   L157
                    137: andl2  $-13,-92(fp)
                    138: jbr    L156
                    139: L117:xorl2     $1,-88(fp)
                    140: L110:incl      r12
                    141: jbr    L112
                    142: L124:cmpl      8(fp),$10
                    143: jlss   L126
                    144: L134:cvtbl     (r12),r0
                    145: subl3  $48,r0,-60(fp)
                    146: jbr    L121
                    147: L2000001:cmpl  r0,$10
                    148: jeql   L155
                    149: cmpl   r0,$16
                    150: jeql   L154
                    151: L151:pushl     -60(fp)
                    152: pushl  r11
                    153: pushl  r11
                    154: callf  $16,_numaddd
                    155: orl2   r0,-92(fp)
                    156: incl   r12
                    157: jbr    L120
                    158: L140:cmpl      8(fp),$16
                    159: jlss   L126
                    160: cvtbl  (r12),r0
                    161: subl3  $55,r0,-60(fp)
                    162: jbr    L121
                    163: L147:cmpl      8(fp),$16
                    164: jlss   L126
                    165: cvtbl  (r12),r0
                    166: subl3  $87,r0,-60(fp)
                    167: L121:movl      8(fp),r0
                    168: cmpl   r0,$8
                    169: jneq   L2000001
                    170: pushl  r11
                    171: pushl  r11
                    172: pushl  $3
                    173: L2000005:callf $16,_numshift
                    174: L2000006:orl2  r0,-92(fp)
                    175: jbr    L151
                    176: L154:pushl     r11
                    177: pushl  r11
                    178: pushl  $4
                    179: jbr    L2000005
                    180: L155:pushl     r11
                    181: pushl  -56(fp)
                    182: pushl  $1
                    183: callf  $16,_numshift
                    184: orl2   r0,-92(fp)
                    185: pushl  r11
                    186: pushl  r11
                    187: pushl  $3
                    188: callf  $16,_numshift
                    189: orl2   r0,-92(fp)
                    190: pushl  r11
                    191: pushl  -56(fp)
                    192: pushl  r11
                    193: callf  $16,_numaddv
                    194: jbr    L2000006
                    195: L157:pushl     r11
                    196: pushl  r11
                    197: callf  $12,_numnegate
                    198: orl2   r0,-92(fp)
                    199: L156:tstl      -88(fp)
                    200: jeql   L99999
                    201: mnegl  $1,r0
                    202: jbr    L99998
                    203: L99999:clrl    r0
                    204: L99998:movl    r0,-60(fp)
                    205: clrl   r10
                    206: L2000003:cmpl  (r11)[r10],-60(fp)
                    207: jeql   L160
                    208: aoblss $2,r10,L2000003
                    209: L160:decl      r10
                    210: jgeq   L164
                    211: clrl   r10
                    212: L164:movb      L163+8[r10],-64(fp)
                    213: jneq   L165
                    214: pushl  $L169
                    215: pushl  $L168
                    216: pushl  $L167
                    217: callf  $16,_panic
                    218: L165:movl      -92(fp),*12(fp)
                    219: subl3  $72,fp,r0
                    220: movab  L170,r1
                    221: movab  (r1),r1
                    222: movab  (r0),r0
                    223: movl   $12,r2
                    224: movblk
                    225: movab  L170,r0
                    226: ret#1
                    227: .align 1
                    228: .globl _as_atof
                    229: .lcomm L180,12
                    230: .set   L171,0x0
                    231: .data
                    232: .text
                    233: _as_atof:.word L171
                    234: subl3  $64,fp,sp
                    235: movab  -64(fp),r1
                    236: movab  _Znumber,r0
                    237: movl   $12,r2
                    238: movblk
                    239: cvtlb  8(fp),-56(fp)
                    240: movl   8(fp),r0
                    241: cmpl   r0,$4
                    242: jeql   L179
                    243: cmpl   r0,$5
                    244: jeql   L178
                    245: L176:subl3     $64,fp,r0
                    246: movab  L180,r1
                    247: movab  (r1),r1
                    248: movab  (r0),r0
                    249: movl   $12,r2
                    250: movblk
                    251: movab  L180,r0
                    252: ret#1
                    253: L178:pushl     4(fp)
                    254: callf  $8,_atof
                    255: movl   r1,-60(fp)
                    256: movl   r0,-64(fp)
                    257: jbr    L176
                    258: L179:pushl     4(fp)
                    259: callf  $8,_atof
                    260: ldd    r0
                    261: cvdf
                    262: stf    -64(fp)
                    263: jbr    L176
                    264: .align 1
                    265: .globl _posovf
                    266: .set   L181,0x1800
                    267: .data
                    268: .text
                    269: _posovf:.word  L181
                    270: subl3  $56,fp,sp
                    271: movl   4(fp),r12
                    272: clrl   -56(fp)
                    273: bitl   $-2147483648,4(r12)
                    274: jeql   L185
                    275: movl   $4,-56(fp)
                    276: L185:cmpl      4(r12),$-2147483648
                    277: jneq   L2000010
                    278: clrl   r11
                    279: L2000009:tstl  (r12)[r11]
                    280: jeql   L187
                    281: L2000010:movl  -56(fp),r0
                    282: ret#1
                    283: L187:decl      r11
                    284: jgeq   L2000009
                    285: orl2   $8,-56(fp)
                    286: jbr    L2000010
                    287: .align 1
                    288: .globl _isclear
                    289: .set   L192,0x1000
                    290: .data
                    291: .text
                    292: _isclear:.word L192
                    293: movl   4(fp),r12
                    294: pushl  $_Znumber
                    295: pushl  r12
                    296: callf  $12,_isunequal
                    297: tstl   r0
                    298: jneq   L99997
                    299: movl   $1,r0
                    300: jbr    L99996
                    301: L99997:clrl    r0
                    302: L99996:ret#1
                    303: .align 1
                    304: .globl _isunequal
                    305: .set   L197,0x1c00
                    306: .data
                    307: .text
                    308: _isunequal:.word       L197
                    309: movl   4(fp),r12
                    310: movl   8(fp),r11
                    311: movl   $2,r10
                    312: L203:movl      r12,r0
                    313: addl2  $4,r12
                    314: movl   r11,r1
                    315: addl2  $4,r11
                    316: cmpl   (r0),(r1)
                    317: jeql   L202
                    318: movl   r10,r0
                    319: ret#1
                    320: L202:decl      r10
                    321: jneq   L203
                    322: clrl   r0
                    323: ret#1
                    324: .align 1
                    325: .globl _numclear
                    326: .set   L205,0x1800
                    327: .data
                    328: .text
                    329: _numclear:.word        L205
                    330: movl   4(fp),r12
                    331: movl   $2,r11
                    332: L211:clrl      (r12)
                    333: addl2  $4,r12
                    334: decl   r11
                    335: jneq   L211
                    336: clrl   r0
                    337: ret#1
                    338: .align 1
                    339: .globl _numshift
                    340: .set   L212,0x1fc0
                    341: .data
                    342: .text
                    343: _numshift:.word        L212
                    344: movl   8(fp),r12
                    345: movl   12(fp),r11
                    346: movl   $2,r10
                    347: tstl   4(fp)
                    348: jneq   L216
                    349: L219:movl      (r11),(r12)
                    350: addl2  $4,r11
                    351: addl2  $4,r12
                    352: decl   r10
                    353: jneq   L219
                    354: clrl   r0
                    355: ret#1
                    356: L216:clrl      r9
                    357: movl   4(fp),r0
                    358: shll   r0,$1,r0
                    359: subl3  $1,r0,r7
                    360: tstl   4(fp)
                    361: jleq   L220
                    362: L223:movl      (r11),r6
                    363: addl2  $4,r11
                    364: subl3  4(fp),$32,r0
                    365: shrl   r0,r6,r0
                    366: andl3  r7,r0,r8
                    367: movl   4(fp),r0
                    368: shll   r0,r6,r6
                    369: mcoml  r7,r0
                    370: andl2  r0,r6
                    371: orl3   r9,r6,(r12)
                    372: addl2  $4,r12
                    373: movl   r8,r9
                    374: decl   r10
                    375: jneq   L223
                    376: tstl   r9
                    377: jeql   L99995
                    378: movl   $2,r0
                    379: jbr    L99994
                    380: L99995:clrl    r0
                    381: L99994:ret#1
                    382: L220:mnegl     4(fp),4(fp)
                    383: addl2  $8,r11
                    384: addl2  $8,r12
                    385: L226:subl2     $4,r11
                    386: movl   (r11),r6
                    387: andl3  r7,r6,r8
                    388: movl   4(fp),r0
                    389: shrl   r0,r6,r6
                    390: subl3  r0,$32,r0
                    391: shll   r0,$1,r0
                    392: decl   r0
                    393: andl2  r0,r6
                    394: orl3   r9,r6,r0
                    395: subl2  $4,r12
                    396: movl   r0,(r12)
                    397: subl3  4(fp),$32,r0
                    398: shll   r0,r8,r9
                    399: decl   r10
                    400: jneq   L226
                    401: tstl   r9
                    402: jeql   L99993
                    403: movl   $2,r0
                    404: jbr    L99992
                    405: L99993:clrl    r0
                    406: L99992:ret#1
                    407: .align 1
                    408: .globl _numaddd
                    409: .lcomm L231,12
                    410: .set   L227,0x0
                    411: .data
                    412: .text
                    413: _numaddd:.word L227
                    414: cvtlb  12(fp),L231+3
                    415: pushl  $L231
                    416: pushl  8(fp)
                    417: pushl  4(fp)
                    418: callf  $16,_numaddv
                    419: ret#1
                    420: .align 1
                    421: .globl _numaddv
                    422: .set   L232,0x1fc0
                    423: .data
                    424: .text
                    425: _numaddv:.word L232
                    426: subl3  $56,fp,sp
                    427: movl   4(fp),r12
                    428: movl   8(fp),r11
                    429: movl   12(fp),r10
                    430: clrl   r8
                    431: movl   $2,r9
                    432: L238:movl      (r11),r7
                    433: addl2  $4,r11
                    434: movl   (r10),r6
                    435: addl2  $4,r10
                    436: addl3  r6,r7,r0
                    437: addl3  r8,r0,-56(fp)
                    438: movl   -56(fp),(r12)
                    439: addl2  $4,r12
                    440: clrl   r8
                    441: cmpl   -56(fp),r7
                    442: jlssu  L99991
                    443: cmpl   -56(fp),r6
                    444: jgequ  L237
                    445: L99991:movl    $1,r8
                    446: L237:decl      r9
                    447: jneq   L238
                    448: tstl   r8
                    449: jeql   L99990
                    450: movl   $1,r0
                    451: jbr    L99989
                    452: L99990:clrl    r0
                    453: L99989:ret#1
                    454: .align 1
                    455: .globl _numnegate
                    456: .set   L240,0x0
                    457: .data
                    458: .text
                    459: _numnegate:.word       L240
                    460: subl3  $56,fp,sp
                    461: pushl  8(fp)
                    462: pushl  4(fp)
                    463: callf  $12,_num1comp
                    464: movl   r0,-56(fp)
                    465: pushl  $1
                    466: pushl  4(fp)
                    467: pushl  4(fp)
                    468: callf  $16,_numaddd
                    469: orl2   r0,-56(fp)
                    470: movl   -56(fp),r0
                    471: ret#1
                    472: .align 1
                    473: .globl _num1comp
                    474: .set   L244,0x1c00
                    475: .data
                    476: .text
                    477: _num1comp:.word        L244
                    478: movl   4(fp),r12
                    479: movl   8(fp),r11
                    480: movl   $2,r10
                    481: L250:mcoml     (r11),(r12)
                    482: addl2  $4,r11
                    483: addl2  $4,r12
                    484: decl   r10
                    485: jneq   L250
                    486: clrl   r0
                    487: ret#1
                    488: .align 1
                    489: .globl _bignumprint
                    490: .data  1
                    491: L260:.ascii    "val[msd] = 0x%x, val[lsd] = 0x%x.\0"
                    492: .text
                    493: .data  1
                    494: L262:.ascii    "value %20.17f\0"
                    495: .text
                    496: .data  1
                    497: L264:.ascii    "value %20.17f\0"
                    498: .text
                    499: .set   L252,0x0
                    500: .data
                    501: .text
                    502: _bignumprint:.word     L252
                    503: movl   _num_type,r0
                    504: cmpl   r0,$3
                    505: jeql   L258
                    506: cmpl   r0,$4
                    507: jeql   L261
                    508: cmpl   r0,$5
                    509: jeql   L263
                    510: L256:ret#2
                    511: L258:pushl     4(fp)
                    512: pushl  8(fp)
                    513: pushl  $L260
                    514: L2000011:callf $16,_printf
                    515: jbr    L256
                    516: L261:pushl     $0
                    517: pushl  4(fp)
                    518: pushl  $L262
                    519: jbr    L2000011
                    520: L263:pushl     8(fp)
                    521: pushl  4(fp)
                    522: pushl  $L264
                    523: jbr    L2000011
                    524: 

unix.superglobalmegacorp.com

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