Annotation of 3BSD/cmd/lisp/dsneg.s, revision 1.1.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.