The bit instructions test and modify individual bits in operands. The byte instructions set the value of a byte operand to indicate the status of flags in the %eflags register.
Table 3–6 Bit and Byte Instructions
Solaris Mnemonic |
Intel/AMD Mnemonic |
Description |
Notes |
---|---|---|---|
BSF |
bit scan forward |
bsfq valid only under -xarch=amd64 |
|
BSR |
bit scan reverse |
bsrq valid only under -xarch=amd64 |
|
BT |
bit test |
btq valid only under -xarch=amd64 |
|
BTC |
bit test and complement |
btcq valid only under -xarch=amd64 |
|
BTR |
bit test and reset |
btrq valid only under -xarch=amd64 |
|
BTS |
bit test and set |
btsq valid only under -xarch=amd64 |
|
SETA |
set byte if above | ||
SETAE |
set byte if above or equal | ||
SETB |
set byte if below | ||
SETBE |
set byte if below or equal | ||
SETC |
set byte if carry | ||
SETE |
set byte if equal | ||
SETG |
set byte if greater | ||
SETGE |
set byte if greater or equal | ||
SETL |
set byte if less | ||
SETLE |
set byte if less or equal | ||
SETNA |
set byte if not above | ||
SETNAE |
set byte if not above or equal | ||
SETNB |
set byte if not below | ||
SETNBE |
set byte if not below or equal | ||
SETNC |
set byte if not carry | ||
SETNE |
set byte if not equal | ||
SETNG |
set byte if not greater | ||
SETNGE |
set byte if not greater or equal | ||
SETNL |
set byte if not less | ||
SETNLE |
set byte if not less or equal | ||
SETNO |
set byte if not overflow | ||
SETNP |
set byte if not parity | ||
SETNS |
set byte if not sign (non-negative) | ||
SETNZ |
set byte if not zero | ||
SETO |
set byte if overflow | ||
SETP |
set byte if parity | ||
SETPE |
set byte if parity even | ||
SETPO |
set byte if parity odd | ||
SETS |
set byte if sign (negative) | ||
SETZ |
set byte if zero | ||
test{bwlq} |
logical compare |
testq valid only under -xarch=amd64 |