/sys/tahoealign -> /sys/tahoe/align
[unix-history] / usr / src / sys / tahoe / align / Aaobleq.c
CommitLineData
6499767c 1/* Aaobleq.c 1.2 90/12/04 */
a9e88eb0 2
6499767c 3#include "align.h"
a9e88eb0
SL
4aobleq(infop) process_info *infop;
5/*
6/* Add one, branch if less or equal.
7/* Can't use real HW opcodes since we don't want to branch 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{negative_0; carry_1;}
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}