|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.