SLAU367P October 2012 – April 2020 MSP430FR5041 , MSP430FR5043 , MSP430FR50431 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5870 , MSP430FR5872 , MSP430FR58721 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5922 , MSP430FR59221 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5962 , MSP430FR5964 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5970 , MSP430FR5972 , MSP430FR59721 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR5992 , MSP430FR5994 , MSP430FR59941 , MSP430FR6005 , MSP430FR6007 , MSP430FR6035 , MSP430FR6037 , MSP430FR60371 , MSP430FR6041 , MSP430FR6043 , MSP430FR60431 , MSP430FR6045 , MSP430FR6047 , MSP430FR60471 , MSP430FR6820 , MSP430FR6822 , MSP430FR68221 , MSP430FR6870 , MSP430FR6872 , MSP430FR68721 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6920 , MSP430FR6922 , MSP430FR69221 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6970 , MSP430FR6972 , MSP430FR69721 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891
XORX.A | Exclusive OR source address-word with destination address-word | ||
XORX.[W] | Exclusive OR source word with destination word | ||
XORX.B | Exclusive OR source byte with destination byte | ||
Syntax | XORX.A src,dst | ||
XORX src,dst or XORX.W src,dst | |||
XORX.B src,dst | |||
Operation | src .xor. dst → dst | ||
Description | The source and destination operands are exclusively ORed. The result is placed into the destination. The source operand is not affected. The previous contents of the destination are lost. Both operands may be located in the full address space. | ||
Status Bits | N: | Set if result is negative (MSB = 1), reset if positive (MSB = 0) | |
Z: | Set if result is zero, reset otherwise | ||
C: | Set if result is not zero, reset otherwise (carry = .not. Zero) | ||
V: | Set if both operands are negative (before execution), reset otherwise | ||
Mode Bits | OSCOFF, CPUOFF, and GIE are not affected. | ||
Example | Toggle bits in address-word CNTR (20-bit data) with information in address-word TONI (20-bit address) |
XORX.A TONI,&CNTR ; Toggle bits in CNTR
Example | A table word pointed to by R5 (20-bit address) is used to toggle bits in R6. |
XORX.W @R5,R6 ; Toggle bits in R6. R6.19:16 = 0
Example | Reset to zero those bits in the low byte of R7 that are different from the bits in byte EDE (20-bit address) |
XORX.B EDE,R7 ; Set different bits to 1 in R7
INV.B R7 ; Invert low byte of R7. R7.19:8 = 0.