BOUND - Array Index Bound Check
Usage: BOUND src,limit
Modifies Flags: None
Array index in source register is checked against upper and lower bounds in memory source. The first word located at "limit" is the lower boundary and the word at "limit+2" is the upper array bound. Interrupt 5 occurs if the source value is less than or higher than the source.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16,mem32 | nj=13 | nj=10 | 7 | 2 |
reg32,mem64 | nj=13 | nj=10 | 7 | 2 |
nj = no jump taken |
BSF - Bit Scan Forward (386+)
Usage: BSF dest,src
Modifies Flags: ZF
Scans source operand for first bit set. Sets ZF if a bit is found set and loads the destination with an index to first set bit. Clears ZF if no bits are found set. BSF scans forward across bit pattern (0-n) while BSR scans in reverse (n-0).
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,reg | 10+3n | 6-42 | 3 | |
reg,mem | 10+3n | 7-43 | 3-7 | |
reg32,reg32 | 10+3n | 6-42 | 3-7 | |
reg32,mem32 | 10+3n | 7-43 | 3-7 |
BSR - Bit Scan Reverse (386+)
Usage: BSR dest,src
Modifies Flags: ZF
Scans source operand for first bit set. Sets ZF if a bit is found set and loads the destination with an index to first set bit. Clears ZF if no bits are found set. BSF scans forward across bit pattern (0-n) while BSR scans in reverse (n-0).
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,reg | 10+3n | 6-103 | 3 | |
reg,mem | 10+3n | 7-104 | 3-7 | |
reg32,reg32 | 10+3n | 6-103 | 3-7 | |
reg32,mem32 | 10+3n | 7-104 | 3-7 |
BSWAP - Byte Swap (486+)
Usage: BSWAP reg32
Modifies Flags: none
Changes the byte order of a 32 bit register from big endian to little endian or vice versa. Result left in destination register is undefined if the operand is a 16 bit register.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg32 | 1 | 2 |
BT - Bit Test (386+)
Usage: BT dest,src
Modifies Flags: CF
The destination bit indexed by the source value is copied into the Carry Flag.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16,immed8 | 3 | 3 | 4-8 | |
mem16,immed8 | 6 | 6 | 4-8 | |
reg16,reg16 | 3 | 3 | 3-7 | |
mem16,reg16 | 12 | 12 | 3-7 |
BTC - Bit Test with Compliment (386+)
Usage: BTC dest,src
Modifies Flags: CF
The destination bit indexed by the source value is copied into the Carry Flag after being complimented (inverted).
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16,immed8 | 6 | 6 | 4-8 | |
mem16,immed8 | 8 | 8 | 4-8 | |
reg16,reg16 | 6 | 6 | 3-7 | |
mem16,reg16 | 13 | 13 | 3-7 |
BTR - Bit Test with Reset (386+)
Usage: BTR dest,src
Modifies Flags: CF
The destination bit indexed by the source value is copied into the Carry Flag and then cleared in the destination.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16,immed8 | 6 | 6 | 4-8 | |
mem16,immed8 | 8 | 8 | 4-8 | |
reg16,reg16 | 6 | 6 | 3-7 | |
mem16,reg16 | 13 | 13 | 3-7 |
BTS - Bit Test and Set (386+)
Usage: BTS dest,src
Modifies Flags: CF
The destination bit indexed by the source value is copied into the Carry Flag and then set in the destination.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16,immed8 | 6 | 6 | 4-8 | |
mem16,immed8 | 8 | 8 | 4-8 | |
reg16,reg16 | 6 | 6 | 3-7 | |
mem16,reg16 | 13 | 13 | 3-7 |
[ TOC | Previous | NeXt | Winston's page ]