|
|
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.