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

1.1       root        1: #include "../machine/alignment.h" 
                      2: casel(infop)   process_info *infop;
                      3: /*
                      4: /*     Case (longword).
                      5: /*     Can't use real HW opcode, don't want to branch out !
                      6: /*
                      7: /***********************************/
                      8: {
                      9:        register long selector, base;
                     10:        register unsigned temporary, limit;
                     11: 
                     12:        selector = operand(infop,0)->data;
                     13:        base = operand(infop,1)->data;
                     14:        limit = operand(infop,2)->data;
                     15:        if (pc & 1) pc += 1;    /* Displacements are aligned ! */
                     16:        temporary = selector - base;
                     17:        if (temporary <= limit)
                     18:                pc = pc + get_word (infop, (char *)(pc + 2*temporary) );
                     19:        else pc = pc + limit*2 + 2;
                     20: }

unix.superglobalmegacorp.com

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