KS57C2308/P2308/C2316/P2316SAM47 INSTRUCTION SET

BTSF — Bit Test and Skip on False

BTSF

dst.b

 

 

 

 

 

 

 

 

Operation:

Operand

Operation Summary

Bytes

Cycles

 

 

 

 

 

 

DA.b

Test specified memory bit and skip if bit equals "0"

2

2 + S

 

 

 

 

 

 

mema.b

 

2

2 + S

 

 

 

 

 

 

memb.@L

 

2

2 + S

 

 

 

 

 

 

@H+DA.b

 

2

2 + S

 

 

 

 

 

Description: The specified bit within the destination operand is tested. If it is a "0", the BTSF instruction skips the instruction which immediately follows it; otherwise the instruction following the BTSF is executed. The destination bit value is not affected.

Operand

 

 

 

Binary Code

 

 

 

Operation Notation

 

 

 

 

 

 

 

 

 

 

 

 

DA.b

1

1

b1

 

b0

0

 

0

1

0

Skip if DA.b = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

a7

a6

a5

 

a4

a3

 

a2

a1

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

mema.b *

1

1

1

 

1

1

 

0

0

0

Skip if mema.b = 0

 

 

 

 

 

 

 

 

 

 

 

 

memb.@L

1

1

1

 

1

1

 

0

0

0

Skip if [memb.7–2 + L.3-2].

 

 

 

 

 

 

 

 

 

 

 

[L.1–0] = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

 

0

a5

 

a4

a3

a2

 

 

 

 

 

 

 

 

 

 

 

 

 

@H + DA.b

1

1

1

 

1

1

 

0

0

0

Skip if [H + DA.3–0].b = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

b1

 

b0

a3

 

a2

a1

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Second Byte

 

 

 

Bit Addresses

* mema.b

 

 

 

 

 

 

 

 

 

 

 

1

0

b1

 

b0

a3

 

a2

a1

a0

FB0H–FBFH

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

b1

 

b0

a3

 

a2

a1

a0

FF0H–FFFH

 

 

 

 

 

 

 

 

 

 

 

 

Examples: 1. If RAM bit location 30H.2 is set to “0”, the following instruction sequence will cause the program to continue execution from the instruction identified as LABEL2:

BTSF

30H.2

;

If 30H.2 = "0", then skip

RET

 

;

If 30H.2 = "1", return

JP

LABEL2

 

 

2. You can use BTSF in the same way to test a port pin address bit:

BTSF

P2.0

;

If P2.0

= "0", then skip

RET

 

;

If P2.0

= "1", then return

JP

LABEL3

 

 

 

5-37

Page 111
Image 111
Samsung KS57C2308 manual Btsf Bit Test and Skip on False, LABEL2, LABEL3