INSTRUCTION SET

S3C84E5/C84E9/P84E9

 

 

CONDITION CODES

The opcode of a conditional jump always contains a 4-bit field called the condition code (cc). This specifies under which conditions it is to execute the jump. For example, a conditional jump with the condition code for "equal" after a compare operation only jumps if the two operands are equal. Condition codes are listed in Table 6-6.

The carry (C), zero (Z), sign (S), and overflow (V) flags are used to control the operation of conditional jump instructions.

Table 6-6. Condition Codes

Binary

Mnemonic

Description

 

 

 

Flags Set

 

 

 

 

 

 

 

 

0000

F

Always false

 

 

 

 

1000

T

Always true

 

 

 

 

0111 (1)

C

Carry

C = 1

 

 

 

1111 (1)

NC

No carry

C = 0

 

 

 

0110 (1)

Z

Zero

Z = 1

 

 

 

1110 (1)

NZ

Not zero

Z = 0

 

 

 

1101

PL

Plus

S = 0

 

 

 

0101

MI

Minus

S = 1

 

 

 

0100

OV

Overflow

V = 1

 

 

 

1100

NOV

No overflow

V = 0

 

 

 

0110 (1)

EQ

Equal

Z = 1

 

 

 

1110 (1)

NE

Not equal

Z = 0

 

 

 

1001

GE

Greater than or equal

(S

XOR

V) = 0

 

0001

LT

Less than

(S XOR

V) = 1

 

1010

GT

Greater than

(Z

OR (S

XOR

V)) = 0

0010

LE

Less than or equal

(Z

OR (S

XOR

V)) = 1

1111 (1)

UGE

Unsigned greater than or equal

C = 0

 

 

 

0111 (1)

ULT

Unsigned less than

C = 1

 

 

 

1011

UGT

Unsigned greater than

(C = 0

AND Z = 0) = 1

0011

ULE

Unsigned less than or equal

(C

OR

Z) = 1

 

 

 

 

 

 

 

 

 

NOTES:

1.It indicate condition codes which are related to two different mnemonics but which test the same flag. For example, Z and EQ are both true if the zero flag (Z) is set, but after an ADD instruction, Z would probably be used. Following a CP instruction, you would probably want to use the instruction EQ.

2.For operations using unsigned numbers, the special condition codes UGE, ULT, UGT, and ULE must be used.

6-12

Page 139
Image 139
Samsung S3C84E5 user manual Condition Codes Binary Mnemonic Description Flags Set