INSTRUCTION SET

S3C84E5/C84E9/P84E9

 

 

CP — Compare

CPdst,src

Operation: dst–src

The source operand is compared to (subtracted from) the destination operand, and the appropriate flags are set accordingly. The contents of both operands are unaffected by the comparison.

Flags:

C:

Set if a "borrow" occurred (src > dst); cleared otherwise.

 

 

 

 

 

Z: Set if the result is "0"; cleared otherwise.

 

 

 

 

 

S: Set if the result is negative; cleared otherwise.

 

 

 

 

 

V: Set if arithmetic overflow occurred; cleared otherwise.

 

 

 

 

 

D:

Unaffected.

 

 

 

 

 

 

 

 

H:

Unaffected.

 

 

 

 

 

 

 

Format:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bytes

Cycles

Opcode

Addr Mode

 

 

 

 

 

 

 

 

 

 

 

(Hex)

dst

src

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

opc

 

dst src

 

 

2

4

A2

r

r

 

 

 

 

 

 

 

 

 

 

6

A3

r

lr

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

opc

 

src

 

dst

 

3

6

A4

R

R

 

 

 

 

 

 

 

 

 

 

6

A5

R

IR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

opc

 

dst

 

src

 

3

6

A6

R

IM

 

 

 

 

 

 

 

 

 

 

 

Examples:

1. Given:

R1 = 02H and R2 = 03H:

 

 

 

 

 

 

 

CP

 

R1,R2

 

Set the C and S flags

 

 

 

 

 

The destination working register R1 contains the value 02H and the source register R2 contains the

 

value 03H. The statement "CP

R1,R2" subtracts the R2 value (source/subtrahend) from the R1

 

value (destination/minuend). Because a "borrow" occurs and the difference is negative, the C and

 

the S flag values are "1".

 

 

 

 

 

 

 

 

2. Given:

R1 = 05H and R2 = 0AH:

 

 

 

 

 

 

 

CP

 

R1,R2

 

 

 

 

 

 

 

 

 

 

JP

 

UGE,SKIP

 

 

 

 

 

 

 

 

 

 

INC

 

R1

 

 

 

 

 

 

 

 

 

 

SKIP

 

LD R3,R1

 

 

 

 

 

 

 

In this example, the destination working register R1 contains the value 05H which is less than the contents of the source working register R2 (0AH). The statement "CP R1,R2" generates C = "1" and the JP instruction does not jump to the SKIP location. After the statement "LD R3,R1" executes, the value 06H remains in the working register R3.

6-30

Page 157
Image 157
Samsung S3C84E5 CP Compare, Operation dst-src, Format Bytes Cycles Opcode Addr Mode Hex Dst Src, UGE,SKIP INC Skip