Crossware

Table of Contents        Previous topic       Next topic       

MICROPROCESSOR INSTRUCTION REFERENCE->BCHG

BCHG    Test a Bit and Change

Complement of (<bit no.> Destination) -> Z
Complement of (<bit no.> Destination) -> (<bit no.> Destination)
    
Assembler Syntax:BCHG Dn,<ea>
BCHG #<data>,<ea>

Dn or #<data> specify the bit number

Size:  Byte, Long

Tests a bit in the destination operand and sets the Z condition code appropriately, then inverts the specified bit in the destination.  When the destination is a data register, any of the 32 bits can be specified by the modulo 32-bit number.  When the destination is a memory location, the operation is a byte operation, and the bit number is modulo 8.  In all cases, bit zero refers to the least significant bit.

If <ea> is Data register then #<data> 0 - 31 else #<data> 0 - 7

Condition Codes:

N    Not affected
Z    Set if bit tested = 0, else clear
V    Not affected
C    Not affected
X    Not affected

    
Allowable Addressing Modes
    
Dn,<ea> #<data>,<ea>
    
Dn,Dn#(data),Dn
Dn,(An) #(data),(An)
Dn,(An)+#(data),(An)+
Dn,-(An)#(data),-(An)
Dn,(d16,An)#(data),(d16,An)
Dn,(d8,An,Xn)
Dn,(xxx).W
 Dn,(xxx).L
Dn,Dn and #(data),Dn are long only; all others are byte only.