Annotation of 43BSDTahoe/sys/tahoealign/Acasel.c, revision 1.1

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

unix.superglobalmegacorp.com

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