English
Language : 

S912XEG128J2MAA Datasheet, PDF (390/1324 Pages) Freescale Semiconductor, Inc – Microcontrollers
Chapter 10 XGATE (S12XGATEV3)
ADD
Add without Carry
ADD
Operation
RS1 + RS2 ⇒ RD
RD + IMM16 ⇒ RD (translates to ADDL RD, #IMM16[7:0]; ADDH RD, #IMM16[15:8])
Performs a 16 bit addition and stores the result in the destination register RD.
NOTE
When using immediate addressing mode (ADD RD, #IMM16), the V-flag
and the C-Flag of the first instruction (ADDL RD, #IMM16[7:0]) are not
considered by the second instruction (ADDH RD, #IMM16[15:8]).
⇒ Don’t rely on the V-Flag if RD + IMM16[7:0] ≥ 215.
⇒ Don’t rely on the C-Flag if RD + IMM16[7:0] ≥ 216.
CCR Effects
NZVC
∆∆∆∆
N: Set if bit 15 of the result is set; cleared otherwise.
Z: Set if the result is $0000; cleared otherwise.
V: Set if a two´s complement overflow resulted from the operation; cleared otherwise.
RS1[15] & RS2[15] & RD[15]new | RS1[15] & RS2[15] & RD[15]new
Refer to ADDH instruction for #IMM16 operations.
C: Set if there is a carry from bit 15 of the result; cleared otherwise.
RS1[15] & RS2[15] | RS1[15] & RD[15]new | RS2[15] & RD[15]new
Refer to ADDH instruction for #IMM16 operations.
Code and CPU Cycles
Source Form
ADD RD, RS1, RS2
ADD RD, #IMM16
Address
Mode
TRI
IMM8
IMM8
00011
11100
11101
Machine Code
Cycles
RD
RS1
RS2 1 0
P
RD
IMM16[7:0]
P
RD
IMM16[15:8]
P
MC9S12XE-Family Reference Manual Rev. 1.25
390
Freescale Semiconductor