mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2025-01-04 11:46:31 +00:00
14 lines
630 B
Text
Executable file
14 lines
630 B
Text
Executable file
|
|
$FG,5$These take a pointer to a bit field.$FG$
|
|
$WW,1$$FG,2$Bt$FG$: Bit Test
|
|
$FG,2$Bts$FG$: Bit Test and Set to one
|
|
$FG,2$Btr$FG$: Bit Test and Reset to zero
|
|
$FG,2$Btc$FG$: Bit Test and Compliment (toggle)
|
|
$FG,2$BEqual$FG$: Set bit to value.
|
|
|
|
$FG$Bit operations are "atomic", no interrupt between the reading and writing the bit, important when multitasking. For multicore use "locked" forms.$FG$
|
|
|
|
$FG,5$These don't take a pointer, but the actual field.$FG$
|
|
$FG,2$Bsf$FG$: Bit Scan Fwd (Pos of first low one bit or -1)
|
|
$FG,2$Bsr$FG$: Bit Scan Rev (Pos of first high one bit or -1)
|
|
$FG,2$BCount$FG$: Bit Count (Count of set bits)
|