Crossware

Table of Contents        Previous topic       Next topic       

MICROPROCESSOR INSTRUCTION REFERENCE->BFFFO

BFFFO    Find First One in Bit Field

Compatibility: 68020 family only.

<bit field> of Source Bit Scan -> Dn

Assembler Syntax:    BFFFO <ea>{offset:width},Dn

Unsized

Searches the bit field in the source operand for the most significant bit that is set to a value of one.  The bit offset of that bit in the bit field is placed in Dn.  If no bit in the bit field is set  to one, the value in Dn is the field offset + width.

Condition Codes:
N    Set if the most significant bit of the field is set, otherwise cleared
Z    Set if all bits of the field are zero, otherwise cleared
V    Always cleared
C    Always cleared
X    Not affected

This instruction is not supported by CPU32 based microcontrollers.

    
Allowable Addressing Modes
    
BFFFODn{offset:width},Dn
BFFFO(An){offset:width},Dn
BFFFO(d16,An){offset:width},Dn
BFFFO(d8,An,Xn){offset:width},Dn
BFFFO(bd,An,Xn){offset:width},Dn
BFFFO([bd,An,Xn],od){offset:width},Dn
BFFFO([bd,An],Xn,od){offset:width},Dn
BFFFO(xxx).W{offset:width},Dn
BFFFO(xxx).L{offset:width},Dn
BFFFO(d16,PC),Dn
BFFFO(d8,PC,Xn),Dn
BFFFO(bd,PC,Xn),Dn
BFFFO([bd,PC,Xn],od),Dn
BFFFO([bd,PC],Xn,od),Dn
where:

offset specifies the starting bit of the field and is either a data register Dn or an expression having a value from 0 to 31.

width specifies the width of the field and is either a data register Dn or an expression having a value from 0 to 31 where 1 to 31 specify field widths of 1 to 31 and 0 specifies a field width of 32.