http://bitsavers.trailing-edge.com/pdf/ibm/360/princOps/A22-6821-0_360PrincOps.pdf Condition code -- two bits of the PSW For arithmetical (usually) 0 if equal 1 if < zero 2 if > zero 3 if overflow For bit operators, 0 if zero and 1 if not zero Arithmetical "logical" operators could indicate carry Conditional jump instructions BC or BCR -- branch on conditional ... four bits give the conditions on which the branch occurs BCTx if (--Reg == 0) branch BXH if (Reg+Incr > Limit) branch BXLE if (Reg+Incr <= Limit) branch https://en.wikipedia.org/wiki/FLAGS_register Intel flags -- actually 16, but 6 for status CF -- carry flag [unsigned overflow] PF -- parity flag AF -- adjust flag ZF -- zero flag SF -- sign flag OV -- overflow flag (two's complement overflow) -- instruction same for signed and unsigned http://www.felixcloutier.com/x86/Jcc.html https://en.wikibooks.org/wiki/X86_Assembly/Control_Flow Kinds of jumps Unsigned Jump above (CF==0 && ZF==0) -- no carry and result not zero Jump above or equal (CF==0) -- no carry Jump below (CF==1) -- carry Jump below or equal (CF==1 || ZF==0) -- carry or result not zero Either Jump equal (ZF==1) -- result is zero Jump not equal (ZF==0) -- result not zero Signed Jump greater (ZF==0 && SF==OF) -- not zero and sign and overflow are same Jump greater or equal (SF==OF) -- sign and overflow are same Jump less (SF!=OF) -- sign and overflow are different Jump less or equal (ZF==1 || SF!=OF) -- zero or sign and overflow are different