Annotation of 43BSDTahoe/sys/tahoealign/Adivl3.c, revision 1.1.1.1

1.1       root        1: /*     Adivl3.c        1.1     86/07/20        */
                      2: 
                      3: #include "../tahoealign/align.h" 
                      4: divl3(infop)   process_info *infop;
                      5: /*
                      6: /*     Arithmetic division, 3 operands.
                      7: /*
                      8: /**************************************/
                      9: {
                     10:        register        long    Register_12;    /* Has to be first reg ! */
                     11:        register        long    divident, divisor, result;
                     12: 
                     13:        divisor = operand(infop,0)->data;
                     14:        divident = operand(infop,1)->data;
                     15:        if (divisor == 0) {
                     16:                exception (infop, ARITHMETIC, 2);
                     17:        } else {
                     18:                Register_12=psl;
                     19:                Set_psl(r12);   /* restore the user psl */
                     20:                result = divident / divisor;
                     21:                asm ("  movpsl  r12");
                     22:                New_cc (Register_12);
                     23:        }
                     24:        write_back (infop,result, operand(infop,2));
                     25: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.