ibts

386 and later

Insert Bit String

ibts r/m16, reg16 | ibts r/m32, reg32

The implied operation of this instruction is:

IBTS r/m16,AX,CL,reg16
IBTS r/m32,EAX,CL,reg32

Writes a bit string from the source operand to the destination. 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 (see XBTS).

Forms

Every form of ibts the assembler accepts.

FormSinceNotes
ibts r/m16, reg16386nolongundocobsolete
ibts r/m32, reg32386nolongundocobsolete