Annotation of 43BSDTahoe/sys/tahoealign/Adivl3.c, revision 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.