S3C9228/P9228

SAM88RCRI INSTRUCTION SET

 

 

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.Indicate condition codes that 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; after a CP instruction, however, EQ would probably be used.

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

6-9

Page 105
Image 105
Samsung 8-Bit CMOS Microcontroller, S3C9228/P9228 user manual Condition Codes Binary Mnemonic Description Flags Set