AOB Instruction

Purpose:Increment integer loop count and loop
Format:opcode limit.rl, index.ml, displ.bb
Operation:
index <- index + 1;
AOBLSS
if index < limit then
PC <- PC + sign-extended displ
AOBLEQ
if index <= limit then
PC <- PC + sign-extended displ
Condition
Codes:
N <- index LSS 0;
Z <- index EQL 0;
V <- Integer Overflow;
C <- C;
Exceptions:Integer Oveflow
Opcodes:
F2AOBLSSAdd One and Branch Less Than
F3AOBLEQAdd One and Branch Less Than or Equal
Description: One is added to the index operand and the index operand is replaced by the result. The index operand is compared with the limit operand. On AOBLSS, if it is less than, the branch is taken. On AOBLEQ, if it is less than or equal, the branch is taken. If the branch is taken, the sign-extended displacement operand is added to the PC and the PC is replaced by the result.
Notes:
1.
Integer overflow occurs if the index operand, before the addition, is the largest possible integer. On integer overflow, the index operand is replaced by the largest negative integer, and thus (unless the limit operand is the largest negative integer) the branch is taken.
2.
The C-Bit is unaffected.