|
|
1.1 root 1: /* Aediv.c 1.1 86/07/20 */
2:
3: #include "../tahoealign/align.h"
4: int zzz1,zzz2,zzz3,zzz4,zzz5;
5: ediv(infop) process_info *infop;
6: /*
7: /* Extended precision division.
8: /*
9: /***************************************/
10: {
11: register long Register_12; /* Has to be the first reg !! */
12: register long Register_11; /* remainder */
13: register long Register_10; /* quotient */
14: register long Register_9; /* divident least */
15: register long Register_8; /* divident most */
16: register long Register_7; /* divisor */
17:
18: Register_7 = operand(infop, 0)->data;
19: Register_8 = operand(infop, 1)->data;
20: Register_9 = operand(infop, 1)->data2;
21: Register_12=psl;
22: Set_psl(r12); /* restore the user psl */
23: asm (" ediv r7,r8,r10,r11");
24: asm (" movpsl r12");
25: New_cc (Register_12);
26: write_back (infop, Register_10, operand(infop, 2));
27: write_back (infop, Register_11, operand(infop, 3));
28: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.