Annotation of cci/sys/tahoe/Aemul.c, revision 1.1.1.1

1.1       root        1: 
                      2: #include "../machine/alignment.h"
                      3: emul(infop)    process_info *infop;
                      4: /*
                      5: /*     Extended precision multiplication.
                      6: /*
                      7: /***************************************/
                      8: {
                      9:        register long Register_12;      /* multiplicand */
                     10:        register long Register_11;      /* product least */
                     11:        register long Register_10;      /* product most */
                     12:        register long Register_9;       /* addend */
                     13:        register long Register_8;       /* multiplier */
                     14:        quadword result;
                     15: 
                     16:        Register_8 = operand(infop, 0)->data;
                     17:        Register_12 = operand(infop, 1)->data;
                     18:        Register_9 = operand(infop, 2)->data;
                     19:        Register_10=psl;
                     20:        Set_psl(r10);   /* restore the user psl */
                     21:        asm ("  emul    r8,r12,r9,r10");
                     22:        asm ("  movpsl  r8");
                     23:        New_cc (Register_8);
                     24:        result.high = Register_10;
                     25:        result.low  = Register_11;
                     26:        write_quadword (infop, result, operand(infop, 3));
                     27: }

unix.superglobalmegacorp.com

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