Samsung S3C84E5 Microphone User Manual


 
INSTRUCTION SET S3C84E5/C84E9/P84E9
6-32
CPIJNE Compare, Increment, and Jump on Non-Equal
CPIJNE dst,src,RA
Operation: If dstsrc ¡ "0", PC PC + RA
Ir Ir + 1
The source operand is compared to (subtracted from) the destination operand. If the result is not "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 following the CPIJNE instruction is
executed. In either case the source pointer is incremented by one before the next instruction.
Flags: No flags are affected.
Format:
Bytes Cycles Opcode
(Hex)
Addr Mode
dst src
opc src dst RA 3 12 D2 r Ir
Example: Given: R1 = 02H, R2 = 03H, and register 03H = 04H:
CPIJNE R1,@R2,SKIP R2 = 04H, PC jumps to SKIP location
The working register R1 contains the value 02H, the working register R2 (the source pointer) the
value 03H, and the general register 03 the value 04H. The statement "CPIJNE R1,@R2,SKIP"
subtracts 04H (00000100B) from 02H (00000010B). Because the result of the comparison is non-
equal, the relative address is added to the PC and the PC then jumps to the memory location
pointed to by SKIP. The source pointer register (R2) is also incremented by one, leaving a value of
04H.
Remember that the memory location addressed by the CPIJNE instruction must be within the
allowed range of + 127 to 128.