Annotation of 43BSDTahoe/sys/tahoemath/Klogf.s, revision 1.1

1.1     ! root        1: /*     Klogf.s 1.3     86/01/05        */
        !             2: 
        !             3: #include "../tahoe/SYS.h"
        !             4: 
        !             5:        .text
        !             6: ENTRY(Klogf, R5|R4|R3|R2)
        !             7:        subl3   $88,fp,sp
        !             8:        clrl    8(fp)
        !             9:        tstl    4(fp)
        !            10:        jgtr    L53
        !            11:        movl    small+4,r1
        !            12:        movl    small,r0
        !            13:        ret
        !            14: L53:   pushl   20(fp)                  # hfs
        !            15:        subl3   $88,fp,-(sp)            # &exp
        !            16:        pushl   8(fp)                   # arg
        !            17:        pushl   4(fp)
        !            18:        callf   $20,_Kfrexpf
        !            19:        ldd     r0
        !            20:                                        # movl  r1,-56(fp)
        !            21:        std     -60(fp)                 # movl  r0,-60(fp)
        !            22:        jbr     L55
        !            23: L2000001:
        !            24:        pushl   20(fp)                  # hfs
        !            25:        ldd     two                     # 2.0
        !            26:        pushd
        !            27:        ldd     -60(fp)                 # x
        !            28:        pushd   
        !            29:        callf   $24,_Kmuld
        !            30:        ldd     r0
        !            31:        std     -60(fp)
        !            32:        subl2   $1,-88(fp)
        !            33: L55:   cmpd2   -60(fp),half
        !            34:        jlss    L2000001
        !            35:        cmpd2   -60(fp),_sqrto2
        !            36:        jgeq    L59
        !            37:        pushl   20(fp)                  # hfs
        !            38:        ldd     -60(fp)                 # x
        !            39:        pushd
        !            40:        ldd     two                     # 2.0
        !            41:        pushd
        !            42:        callf   $24,_Kmuld
        !            43:        ldd     r0
        !            44:        std     -60(fp)
        !            45:        subl2   $1,-88(fp)
        !            46: L59:   pushl   20(fp)                  # hfs
        !            47:        ldd     one                     # 1.0
        !            48:        pushd
        !            49:        ldd     -60(fp)                 # x
        !            50:        pushd
        !            51:        callf   $24,_Ksubd      
        !            52:        ldd     r0
        !            53:        std     r2
        !            54:        pushl   20(fp)                  # hfs
        !            55:        ldd     one                     # 1.0
        !            56:        pushd
        !            57:        ldd     -60(fp)                 # x
        !            58:        pushd
        !            59:        callf   $24,_Kaddd
        !            60:        ldd     r0
        !            61:        std     r4
        !            62:        pushl   20(fp)                  # hfs
        !            63:        ldd     r4                      # temp result of x-1
        !            64:        pushd
        !            65:        ldd     r2                      # temp result of x+1
        !            66:        pushd
        !            67:        callf   $24,_Kdivd
        !            68:        ldd     r0
        !            69:        std     -68(fp)                 # z
        !            70:        pushl   20(fp)                  # hfs
        !            71:        pushd                           # z
        !            72:        pushd                           # z
        !            73:        callf   $24,_Kmuld
        !            74:        ldd     r0
        !            75:        std     -76(fp)                 # zsq
        !            76:        pushl   20(fp)                  # hfs
        !            77:        ldd     -76(fp)                 # zsq
        !            78:        pushd
        !            79:        ldd     _p1                     # p1
        !            80:        pushd
        !            81:        callf   $24,_Kmuld
        !            82:        ldd     r0
        !            83:        std     r2
        !            84:        pushl   20(fp)                  # hfs
        !            85:        ldd     _p0                     # p0
        !            86:        pushd
        !            87:        ldd     r2
        !            88:        pushd
        !            89:        callf   $24,_Kaddd
        !            90:        ldd     r0
        !            91:        std     -84(fp)                 # temp
        !            92:        pushl   20(fp)                  # hfs
        !            93:        ldd     -76(fp)                 # zsq
        !            94:        pushd
        !            95:        ldd     _q1
        !            96:        pushd
        !            97:        callf   $24,_Kmuld
        !            98:        ldd     r0
        !            99:        std     r2
        !           100:        pushl   20(fp)                  # hfs
        !           101:        ldd     _q0                     # q0
        !           102:        pushd
        !           103:        ldd     r2
        !           104:        pushd
        !           105:        callf   $24,_Kaddd
        !           106:        ldd     r0
        !           107:        std     r2                      # temp result of (q1*zsq+q0)
        !           108:        pushl   20(fp)                  # hfs
        !           109:        ldd     r2
        !           110:        pushd
        !           111:        ldd     -84(fp)                 # temp
        !           112:        pushd
        !           113:        callf   $24,_Kdivd
        !           114:        ldd     r0
        !           115:        std     -84(fp)                 # put in temp
        !           116:        pushl   20(fp)                  # hfs
        !           117:        ldd     -68(fp)                 # z
        !           118:        pushd
        !           119:        ldd     -84(fp)
        !           120:        pushd
        !           121:        callf   $24,_Kmuld
        !           122:        ldd     r0
        !           123:        std     r2
        !           124:        pushl   20(fp)                  #hfs
        !           125:        pushl   $0                      # 0 pad
        !           126:        pushl   -88(fp)                 # exp
        !           127:        pushl   $0                      # dummy
        !           128:        pushl   $0                      # dummy
        !           129:        callf   $24,_Kcvtld
        !           130:        pushl   20(fp)                  # hfs
        !           131:        ldd     _log2                   # log2
        !           132:        pushd
        !           133:        pushl   r1                      # exp converted
        !           134:        pushl   r0                      
        !           135:        callf   $24,_Kmuld
        !           136:        ldd     r0
        !           137:        std     r4
        !           138:        pushl   20(fp)                  # hfs
        !           139:        ldd     r2                      # result of temp*z
        !           140:        pushd
        !           141:        ldd     r4
        !           142:        pushd
        !           143:        callf   $24,_Kaddd
        !           144:        ldd     r0
        !           145:        cvdf
        !           146:        stf     r0
        !           147:        clrl    r1
        !           148:        ret
        !           149: 
        !           150:        .data
        !           151:        .align  2
        !           152: _log2: .long   0x40317217, 0xf7d1cf7a # .double 0.69314718055994531
        !           153: _ln10: .long   0x41135d8d, 0xddaaa8ac # .double 2.3025850929940457
        !           154: _sqrto2:.long  0x403504f3, 0x33f9de65 # .double 0.70710678118654753
        !           155: _p0:   .long   0xc154114d, 0xeb0ba468 # .double -3.31355617479
        !           156: _p1:   .long   0x40654226, 0x56bd0c4c # .double 0.89554061525
        !           157: _q0:   .long   0xc0d4114c, 0xfdc7df02 # .double -1.65677797691
        !           158: _q1:   .long   0x40800000, 0x00000000 # .double 1
        !           159: small: .long   0xfffffffe, 0xfffffffe # .double -1.7014117331926443e+38
        !           160: half:  .long   0x40000000, 0x00000000 # .double 0.5
        !           161: two:   .long   0x41000000, 0x00000000 # .double 2
        !           162: one:   .long   0x40800000, 0x00000000 # .double 1

unix.superglobalmegacorp.com

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