42
3.2 Functions
Chapter 3 Functions
Add without carry
ADDition
[ Related Instructions ] ADC,ADCF,SBB,SUB
ADD ADD
[ Syntax ]
ADD.size (:format) src,dest
[ Flag Change ]
ADD.B A0,R0L
ADD.B R0L,A0
ADD.B Ram:8[SB],R0L
ADD.W #2,[A0]
G , Q , S (Can be specified)
B , W
[ Operation ]
dest dest + src
Conditions
O : The flag is set when a signed operation resulted in exceeding +32767 (.W) or –32768 (.W) or
+127 (.B) or –128 (.B); otherwise cleared.
S : The flag is set when the operation resulted in MSB = 1; otherwise cleared.
Z : The flag is set when the operation resulted in 0; otherwise cleared.
C : The flag is set when an unsigned operation resulted in exceeding +65535 (.W) or +255 (.B);
otherwise cleared.
[ Description Example ]
; A0’s 8 low-order bits and R0L are added.
; R0L is zero-expanded and added with A0.
UIOBSZDC
142
[ Instruction Code/Number of Cycles ]
Page=
Change
Flag
[ Function ]
• This instruction adds
dest
and
src
together and stores the result in
dest
.
• If
dest
is an A0 or A1 when the size specifier (.size) you selected is (.B),
src
is zero-expanded to
perform calculation in 16 bits. If
src
is an A0 or A1, operation is performed on the eight low-order bits
of the A0 or A1.
• If
dest
is a stack pointer when the size specifier (.size) you selected is (.B),
src
is sign extended to
perform calculation in 16 bits.
[ Selectable src/dest ]
src dest
R0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3
A0/A0
*1
A1/A1
*1
[A0] [A1] A0/A0
*1
A1/A1
*1
[A0] [A1]
dsp:8[A0] dsp:8[A1] dsp:8[SB] dsp:8[FB] dsp:8[A0] dsp:8[A1] dsp:8[SB] dsp:8[FB]
dsp:16[A0] dsp:16[A1] dsp:16[SB] abs16 dsp:16[A0] dsp:16[A1] dsp:16[SB] abs16
dsp:20[A0] dsp:20[A1] abs20 #IMM dsp:20[A0] dsp:20[A1] abs20 SP/SP
*2
R2R0 R3R1 A1A0 R2R0 R3R1 A1A0
*1 If you specify (.B) for the size specifier (.size), you cannot choose A0 or A1 for
src
and
dest
simultaneously.
*2 Operation is performed on the stack pointer indicated by the U flag. You can choose only #IMM for
src
.
(See the next page for
src
/
dest
classified by format.)
Commentaires sur ces manuels