Condividi tramite


firstbit (sm5 - asm)

Trova il primo set di bit in un numero, da LSB o MSB.

firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle]
Elemento Descrizione
Dest
[in] Posizione integer del primo set di bit in src0 a partire da LSB per firstbit_lo o MSB per firstbit_hi.
src0
[in] Intero di input.

Commenti

Questa operazione restituisce la posizione integer del primo set di bit nell'input a 32 bit a partire da LSB per firstbit_lo o MSB per firstbit_hi. Ad esempio, firstbit_lo in 0x00000001 restituisce 0. firstbit_hi in 0x10000000 restituisce 3.

firstbit_shi (s per segno) restituisce il primo 0 dal MSB se il numero è negativo; in caso contrario, restituisce il primo 1 dal MSB.

Tutte le varianti dell'istruzione restituiscono ~0 (0xffffffff nel registro a 32 bit) se non viene trovata alcuna corrispondenza.

Usare questa istruzione per enumerare rapidamente i bit in un campo bit o trovare la potenza più grande di 2 in un numero.

Questa istruzione si applica alle fasi dello shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
X X X X X X

Modello Shader mimimum

Questa istruzione è supportata nei modelli shader seguenti:

Modello di shader Supportato
Modello shader 5
Modello shader 4.1 no
Modello shader 4 no
Modello shader 3 (DirectX HLSL) no
Modello shader 2 (DirectX HLSL) no
Modello shader 1 (DirectX HLSL) no

Shader Model 5 Assembly (DirectX HLSL)