Instruction Set Description
214
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.6.3.2
ADDX
ADDX.A
Add source address-word to destination address-word
ADDX.[W]
Add source word to destination word
ADDX.B
Add source byte to destination byte
Syntax
ADDX.A src,dst
ADDX src,dst
or
ADDX.W src,dst
ADDX.B src,dst
Operation
src + dst
→
dst
Description
The source operand is added to the destination operand. The previous contents of the
destination are lost. Both operands can 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 there is a carry from the MSB of the result, reset otherwise
V:
Set if the result of 2 positive operands is negative, or if the result of 2 negative
numbers is positive, reset otherwise
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
10 is added to the 20-bit pointer CNTR located in 2 words CNTR (LSBs) and CNTR+2
(MSBs).
ADDX.A
#10,CNTR
; Add 10 to 20-bit pointer
Example
A table word (16-bit) pointed to by R5 (20-bit address) is added to R6. The jump to label
TONI is performed on a carry.
ADDX.W
@R5,R6
; Add table word to R6
JC
TONI
; Jump if carry
...
; No carry
Example
A table byte pointed to by R5 (20-bit address) is added to R6. The jump to label TONI is
performed if no carry occurs. The table pointer is auto-incremented by 1.
ADDX.B
@R5+,R6
; Add table byte to R6. R5 + 1. R6: 000xxh
JNC
TONI
; Jump if no carry
...
; Carry occurred
Note: Use ADDA for the following 2 cases for better code density and execution.
ADDX.A
Rsrc,Rdst
ADDX.A
#imm20,Rdst