Instruction Set Description
219
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.6.3.7
BITX
BITX.A
Test bits set in source address-word in destination address-word
BITX.[W]
Test bits set in source word in destination word
BITX.B
Test bits set in source byte in destination byte
Syntax
BITX.A src,dst
BITX src,dst
or
BITX.W src,dst
BITX.B src,dst
Operation
src .and. dst
→
dst
Description
The source operand and the destination operand are logically ANDed. The result affects
only the status bits. 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 the result is not zero, reset otherwise. C = (.not. Z)
V:
Reset
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
Test if bit 16 or 15 of R5 (20-bit data) is set. Jump to label TONI if so.
BITX.A
#018000h,R5
; Test R5.16:15 bits
JNZ
TONI
; At least 1 bit is set
...
; Both are reset
Example
A table word pointed to by R5 (20-bit address) is used to test bits in R7. Jump to label
TONI if at least 1 bit is set.
BITX.W
@R5,R7
; Test bits in R7: C = .not.Z
JC
TONI
; At least 1 is set
...
; Both are reset
Example
A table byte pointed to by R5 (20-bit address) is used to test bits in input Port1. Jump to
label TONI if no bit is set. The next table byte is addressed.
BITX.B
@R5+,&P1IN
; Test input P1 bits. R5 + 1
JNC
TONI
; No corresponding input bit is set
...
; At least 1 bit is set