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