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 |