KS57C2308/P2308/C2316/P2316 SAM47 INSTRUCTION SET
5-27
ADS Add And Skip On Overflow
ADS (Continued)
Examples: 2. If the extended accumulator contains the value 0C3H, register pair HL the value 12H, and
the carry flag = "0":
ADS EA,HL ;EA 0C3H + 12H = 0D5H
JPS XXX ;Jump to XXX; no skip after ADS.
3. If “ADC A,@HL” is followed by an “ADS A,#im”, the ADC skips on overflow to the instruction
immediately after the ADS. An “ADS A,#im” instruction immediately after the “ADC A,@HL”
does not skip even if overflow occurs. This function is useful for decimal adjustment
operations.
a. 8 + 9 decimal addition (the contents of the address specified by the HL register is 9H):
RCF ;C "0"
LD A,#8H ;A 8H
ADS A,#6H ;A 8H + 6H = 0EH
ADC A,@HL ;A 0EH + 9H + C(0) = 7H, C "1"
ADS A,#0AH ;Skip this instruction because C = "1" after ADC result.
JPS XXX
b. 3 + 4 decimal addition (the contents of the address specified by the HL register is 4H):
RCF ;C "0"
LD A,#3H ;A 3H
ADS A,#6H ;A 3H + 6H = 9H
ADC A,@HL ;A 9H + 4H + C(0) = 0DH, C "0"
ADS A,#0AH ;No skip. A 0DH + 0AH = 7H
;(The skip function for “ADS A,#im” is inhibited after an
;“ADC A,@HL” instruction even if an overflow occurs.)
JPS XXX