S3C84E5/C84E9/P84E9

INSTRUCTION SET

 

 

CPIJE — Compare, Increment, and Jump on Equal

CPIJE

dst,src,RA

 

 

 

Operation:

If dst–src = "0", PC

PC

+

RA

 

Ir

Ir

+

1

The source operand is compared to (subtracted from) the destination operand. If the result is "0", the relative address is added to the program counter and control passes to the statement whose address is now in the program counter. Otherwise, the instruction immediately following the CPIJE instruction is executed. In either case, the source pointer is incremented by one before the next instruction is executed.

Flags: No flags are affected.

Format:

Bytes Cycles Opcode

Addr Mode

(Hex)

dst

src

opc

src

dst

RA

3

12

C2

r

Ir

Example: Given: R1 = 02H, R2 = 03H, and register 03H = 02H:

CPIJE

R1,@R2,SKIP

R2 = 04H, PC jumps to SKIP location

In this example, the working register R1 contains the value 02H, the working register R2 the value 03H, and the register 03 contains 02H. The statement "CPIJE R1,@R2,SKIP" compares the @R2 value 02H (00000010B) to 02H (00000010B). Because the result of the comparison is equal, the relative address is added to the PC and the PC then jumps to the memory location pointed to by SKIP. The source register (R2) is incremented by one, leaving a value of 04H.

Remember that the memory location addressed by the CPIJE instruction must be within the allowed range of + 127 to – 128.

6-31

Page 158
Image 158
Samsung S3C84E5 user manual Cpije Compare, Increment, and Jump on Equal, Dst,src,RA, If dst-src = 0, PC