Annotation of 3BSD/cmd/lisp/dodiv.s, revision 1.1

1.1     ! root        1:        .globl _dodiv
        !             2: #
        !             3: #      routine to destructively divide array representation of a bignum by 
        !             4: #      1000000000
        !             5: #
        !             6: #      invocation:
        !             7: #              remainder = dodiv(top,bottom)
        !             8: #              int *top, *bottom;
        !             9: #      where *bottom is the address of the biggning of the array, *top is
        !            10: #      the top of the array.
        !            11: #
        !            12: #      register assignments:
        !            13: #      r0 = carry
        !            14: #      r1 & r2 = 64bit temporary
        !            15: #      r3 = pointer
        !            16: #
        !            17: _dodiv:        .word   0
        !            18:        clrl            r0              #no carry to begin.
        !            19:        movl            8(ap),r3        #get pointer to array.
        !            20: loop:  emul            $0x40000000,r0,(r3),r1
        !            21:        ediv            $1000000000,r1,(r3),r0
        !            22:        acbl            4(ap),$4,r3,loop
        !            23:        ret

unix.superglobalmegacorp.com

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