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, x00000020, is compared to the contents of register 9 which contains x000000FF. 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 = XFFFFFFD5 -43 IN 2S COMPLEMENT

R5 = X00000028 +40 IN 2S COMPLEMENT

R6 = X00000004 +4 IN 2S COMPLEMENT

DOG DC F35

CAT DC F4

 

C R4,=F20 CONDITION CODE = LOW

C R5,=F-20 CONDITION CODE = HIGH

C R6,=F20 CONDITION CODE = LOW

C R6,=F4 CONDITION CODE = EQUAL

C R5,=F40 CONDITION CODE = EQUAL

C R5,DOG CONDITION CODE = HIGH

C R6,DOG(R6) CONDITION CODE = EQUAL