Annotation of cci/sys/tahoe/Aaobleq.c, revision 1.1

1.1     ! root        1: #include "../machine/alignment.h" 
        !             2: aobleq(infop)  process_info *infop;
        !             3: /*
        !             4: /*     Add one, branch if less or equal.
        !             5: /*     Can't use real HW opcodes since we don't want to branch here.
        !             6: /*
        !             7: /*******************************************/
        !             8: {
        !             9:        register long limit, index, new_address, complement;
        !            10: 
        !            11:        limit = operand(infop,0)->data;
        !            12:        index = operand(infop,1)->data;
        !            13:        complement =  limit + ~index;
        !            14:        if ( complement < 0){ carry_0; negative_1;} else{negative_0; carry_1;}
        !            15:        if ( complement == 0) zero_1; else zero_0;
        !            16:        overflow_0;  
        !            17:        write_back (infop, index+1, operand(infop,1));
        !            18:        new_address = operand(infop,2)->address;
        !            19:        if (!negative || zero) pc = new_address;
        !            20: }

unix.superglobalmegacorp.com

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