Samsung KS57C2308 Computer Monitor User Manual


 
KS57C2308/P2308/C2316/P2316 SAM47 INSTRUCTION SET
5-37
BTSFBit 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