The BT
x86 assembly language instruction stands for Bit Test and was added to the x86 instruction set with the 80386 processor. BT
copies a bit from a given register to the carry flag.[1]
Example: copy the third least significant bit from EAX to the carry flag
BT EAX, 2
BTS
(Bit Test and Set) operates the same, but also sets the bit in the register,[2] while BTR
(Bit Test and Reset) resets it,[3] and BTC
(Bit Test and Complement) flips it.[4]
Logical Explanation BT
BT SRC, POSITION
SRC Represent as bits array
POSITION Represent as numeric position From Right to Left Start at 0
CF Carry Flag
Result CF = SRC[POSITION]
Logical Explanation BTC
BTC SRC, POSITION
SRC Represent as bits array for CF Result Represent as hex for SRC Result
POSITION Represent as numeric position From Right to Left Start at 0
CF Carry Flag
Result CF = SRC[POSITION] XOR SRC, POW(2,POSITION)
References
edit- ^ "BT – Bit Test". Retrieved 2011-08-21.
- ^ "BTS – Bit Test and Set". Retrieved 2011-08-21.
- ^ "BTR – Bit Test and Reset". Retrieved 2011-08-21.
- ^ "BTC – Bit Test and Complement". Retrieved 2012-11-04.