KS57C2308/P2308/C2316/P2316 SAM47 INSTRUCTION SET
5-39
BTST Bit Test and Skip on True
BTST dst.b
Operation: Operand Operation Summary Bytes Cycles
CTest carry bit and skip if set (= "1") 11 + S
DA.b Test specified bit and skip if memory bit is set 22 + S
mema.b 22 + S
memb.@L 22 + S
@H+DA.b 22 + S
Description: The specified bit within the destination operand is tested. If it is "1", the instruction that
immediately follows the BTST instruction is skipped; otherwise the instruction following the BTST
instruction is executed. The destination bit value is not affected.
Operand Binary Code Operation Notation
C11010111Skip if C = 1
DA.b 1 1 b1 b0 0 0 1 1 Skip if DA.b = 1
a7 a6 a5 a4 a3 a2 a1 a0
mema.b *11111001Skip if mema.b = 1
memb.@L 11111001Skip if [memb.7–2 + L.3–2].
[L.1–0] = 1
0 1 0 0 a5 a4 a3 a2
@H+DA.b 11111001Skip if [H + DA.3–0].b = 1
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 execute the RET
instruction:
BTST 30H.2 ;If 30H.2 = "1", then skip
RET ;If 30H.2 = "0", return
JP LABEL2