ADD
|
Addition without carry
|
ADD
|
ADD
|
[Syntax]
(1)ADD src, dest
(2)ADD src, src2, dest
[Operation]
(1)dest = dest + src;
(2)dest = src + src2;
[Function]
(1)This instruction adds dest and src and places the result in dest.
(2)This instruction adds src and src2 and places the result in dest.
[Instruction Format]
|
|
|
|
|
|
(1)ADD src,dst
|
|
#UIMM:4
|
-
|
Rd
|
|
|
#SIMM:8
|
-
|
Rd
|
|
|
#SIMM:16
|
-
|
Rd
|
|
|
#SIMM:24
|
-
|
Rd
|
|
|
#IMM:32
|
-
|
Rd
|
|
|
Rs
|
-
|
Rd
|
|
|
[Rs].memex
|
-
|
Rd
|
|
|
dsp:8[Rs].memex
|
-
|
Rd
|
|
|
dsp:16[Rs].memex
|
-
|
Rd
|
|
(2)ADD src,src2,dst
|
|
#SIMM:8
|
Rs
|
Rd
|
|
|
#SIMM:16
|
Rs
|
Rd
|
|
|
#SIMM:24
|
Rs
|
Rd
|
|
|
#IMM:32
|
Rs
|
Rd
|
|
|
Rs
|
Rs
|
Rd
|
|
[Flag Change]
Conditions
C : The flag is set if an unsigned operation produces an overflow; otherwise it is cleared.
Z : The flag is set if dest is 0 after the operation; otherwise it is cleared.
S : The flag is set if the MSB of dest after the operation is 1; otherwise it is cleared.
O : The flag is set if a signed operation produces an overflow; otherwise it is cleared.
[Description Example]
ADD #15, R2
ADD R1, R2
ADD [R1], R2
ADD [R1].UB, R2
ADD #127, R1, R2
ADD R1, R2, R3