Specifications
149
3706C–MICRO–2/11
AT89LP3240/6440
22.1.5 INC /DPTR
Function: Increment Alternate Data Pointer
Description: INC /DPTR increments the unselected 16-bit data pointer by 1. A 16-bit increment (modulo 2
16
) is performed,
and an overflow of the low-order byte of the data pointer from 0FFH to 00H increments the high-order byte. No
flags are affected.
Example: Registers DP1H and DP1L contain 12H and 0FEH, respectively, and DPS = 0. The following instruction
sequence,
INC /DPTR
INC /DPTR
INC /DPTR
changes DP1H and DP1L to 13H and 01H.
Bytes: 2
Cycles: 3
Encoding: A5 10100011
Operation: INC
IF (DPS) = 0
THEN
(DPTR1) ← (DPTR1) + 1
ELSE
(DPTR0) ← (DPTR0) + 1
22.1.6 JMP @A+PC
Function: Jump indirect relative to PC
Description: JMP @A+PC adds the eight-bit unsigned contents of the Accumulator to the program counter, which is first
incremented by two. This is the address for subsequent instruction fetches. Sixteen-bit addition is performed
(modulo 2
16
): a carry-out from the low-order eight bits propagates through the higher-order bits. The
Accumulator is not altered. No flags are affected.
Example: An even number from 0 to 6 is in the Accumulator. The following sequence of instructions branches to one of four
AJMP instructions in a jump table starting at JMP_TBL.
JMP @A + PC
JMP_TBL:
AJMP LABEL0
AJMP LABEL1
AJMP LABEL2
AJMP LABEL3
If the Accum
ulator equals 04H when starting this sequence, execution jumps to label LABEL2. Because AJMP is
a 2-byte instruction, the jump instructions start at every other address.
Bytes: 2
Cycles: 3
Encoding: A5 01110011
Operation: JMP
(PC) ← (A) + (PC) + 2