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

1.1     ! root        1:        .globl  _dsneg
        !             2: #
        !             3: #      dsneg(top, bot);
        !             4: #      int *top, *bot;
        !             5: #
        !             6: #      routine to destructively negate a bignum stored in array format
        !             7: #      lower order stuff at higher addresses. It is assume that the
        !             8: #      result will be positive.
        !             9: #      
        !            10: _dsneg:        .word   0
        !            11:        movl    4(ap),r1        #load up address.
        !            12:        clrl    r2              #set carry
        !            13: loop:  mnegl   (r1),r0         #negate and take carry into account.
        !            14:        addl2   r2,r0
        !            15:        extzv   $0,$30,r0,(r1)
        !            16:        extv    $30,$2,r0,r2
        !            17:        acbl    8(ap),$-4,r1,loop
        !            18:                                #decrease r1, and branch back if appropriate.
        !            19:        ret

unix.superglobalmegacorp.com

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