SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Add 16-Bit Unsigned Constant to Register
ADD ucst16, src2, dst
Functional unit = D
32 bit
| 31 | 16 | 15 | 13 | 12 | 10 | 9 | 0 |
| ucst16 | dst | src2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 16 | 3 | 3 | opcode | ||||||||||||||||||||||||||||
Addition of a 16-bit unsigned constant (ucst16) with src2 and store result to dst.
CSR[2]EQ = (dst == 0)
CSR[5]C = {carry out} from (dst + {zero extend}ucst16)
CSR[7]V = {overflow} from (dst + {zero extend}ucst16)
Note that the carry (CSR:C) and overflow (CSR:V) bits are relevant to unsigned and signed operations, respectively. Appropriate bits are checked depending on if the operands are represented (or, interpreted) as unsigned or signed numbers.
dst = src2 + {zero extend}ucst16