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).

No example here: this instruction either stops the program, or belongs to a mode this emulator does not run.

Forms

Every form of ibts the assembler accepts, from NASM's own instruction table. The second column is the processor that introduced the form; a badge marks a form that needs an extension, that is lockable, or that long mode dropped.

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