|
|
1.1 ! root 1: /* Aaoblss.c 1.1 86/07/20 */ ! 2: ! 3: #include "../tahoealign/align.h" ! 4: aoblss(infop) process_info *infop; ! 5: /* ! 6: /* Add one, branch if less than. ! 7: /* Can't use real HW opcode, don't want to branch out of here ! ! 8: /* ! 9: /*******************************************/ ! 10: { ! 11: register long limit, index, new_address, complement; ! 12: ! 13: limit = operand(infop,0)->data; ! 14: index = operand(infop,1)->data; ! 15: complement = limit + ~index; ! 16: if ( complement < 0){ carry_0; negative_1;}else{carry_1; negative_0;} ! 17: if ( complement == 0) zero_1; else zero_0; ! 18: overflow_0; ! 19: write_back (infop,index+1, operand(infop,1)); ! 20: new_address = operand(infop,2)->address; ! 21: if (!negative && !zero) pc = new_address; ! 22: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.