xbts
Extract bit string
Extracts a bit string from the source operand into the destination.
386 and laterremoved from the architectureNot available in 64-bit mode
Forms
Operands
r/m- A general-purpose register or memory location matching the operation’s size, for example
raxorqword [rbp-8]. The byte registersah,bh,chanddhcannot be used with a REX prefix, including when the memory address usesr8–r15. reg- A general-purpose register matching the operation’s size, for example
al,ax,eaxorrax. The byte registersah,bh,chanddhcannot be used with a REX prefix, which is required byspl,bpl,sil,dilandr8–r15.
CL
indicates the number of bits to be copied, and (E)AX indicates the
low order bit offset in the source. The bits are written to the low
order bits of the destination register. For example, if CL is set
to 4 and AX (for 16-bit code) is set to 5, bits 5-8 of src will
be copied to bits 0-3 of dst. This instruction is very poorly
documented, and I have been unable to find any official source of
documentation on it.
XBTS is supported only on the early Intel 386s, and conflicts with
the opcodes for CMPXCHG486 (on early Intel 486s). NASM supports it
only for completeness. Its counterpart is IBTS.