ibts
Insert bit string
Inserts 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, from the low bits
of the source. (E)AX indicates the low order bit offset in the
destination that is written to. For example, if CL is set to 4
and AX (for 16-bit code) is set to 5, bits 0-3 of src will
be copied to bits 5-8 of dst. This instruction is very poorly
documented, and I have been unable to find any official source of
documentation on it.
IBTS 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 XBTS.