 The Compare instruction is used to compare a binary fullword in a register, Operand 1, with a fullword in memory, Operand 2.  The operands are compared as 32-bit signed binary integers.  The instruction sets the condition code to indicate how Operand 1 compares to Operand 2:

Condition Code               Meaning                            Test With

0                    Operand 1 = Operand 2                 BE, BZ

1                    Operand 1 < Operand 2                 BL, BM

2                    Operand 1 > Operand 2                 BH, BP

C    R9,AFIELD The contents of the fullword “AFIELD”, x’00000020’, is compared to the contents of register 9 which contains x’000000FF’.  Since the contents of the register (Operand 1) is greater than the value than the fullword in memory (Operand 2), the condition code is set to “High”.  The condition code in the diagram above is specified using 2 binary digits.  After comparison, the condition code is set to a binary 10 which is 2 in decimal - a “High” condition.

Since C is an RX instruction, an index register may be coded as part of operand 2 (see Explicit Addressing). Some Unrelated Compares

R4 =  X’FFFFFFD5’  -43 IN 2’S COMPLEMENT

R5 =  X’00000028’  +40 IN 2’S COMPLEMENT

R6 =  X’00000004’   +4 IN 2’S COMPLEMENT

DOG   DC   F’35’

CAT   DC   F’4’

C    R4,=F’20’    CONDITION CODE = LOW

C    R5,=F’-20’   CONDITION CODE = HIGH

C    R6,=F’20’    CONDITION CODE = LOW

C    R6,=F’4’     CONDITION CODE = EQUAL

C    R5,=F’40’    CONDITION CODE = EQUAL

C    R5,DOG       CONDITION CODE = HIGH

C    R6,DOG(R6)   CONDITION CODE = EQUAL