Block Move From Program Memory to Data Memory
BLPD
7-57
Assembly Language Instructions
Cycles for a Repeat (RPT) Execution of a BLPD Instruction (Continued)
Operand
External
SARAM
DARAM
ROM
Source: SARAM
Destination: SARAM
n+2
2n
‡
n+2
2n
‡
n+2
2n
‡
n+4
†
2n+2
§
n+2+2p
code
2n+2p
code
‡
Source: External
Destination: SARAM
n+2+np
src
†
n+2+np
src
n+2+np
src
n+4+np
src
†
n+2+np
src
+2p
code
Source: DARAM/ROM
Destination: External
2n+2+nd
dst
2n+2+nd
dst
2n+2+nd
dst
2n+2+nd
dst
+2p
code
Source: SARAM
Destination: External
2n+2+nd
dst
2n+2+nd
dst
2n+2+nd
dst
2n+2+nd
dst
+2p
code
Source: External
Destination: External
4n+np
src
+nd
dst
‡
4n+np
src
+nd
dst
4n+np
src
+nd
dst
4n+2+np
src
+nd
dst
+
2p
code
† If the destination operand and the code are in the same SARAM block
‡ If both the source and the destination operands are in the same SARAM block
§ If both operands and the code are in the same SARAM block
Example 1
BLPD
#800h,00h ;(DP=6)
Before Instruction
After Instruction
Program Memory
Program Memory
800h
0Fh
800h
0Fh
Data Memory
Data Memory
300h
0h
300h
0Fh
Example 2
BLPD
#800h,*,AR7
Before Instruction
After Instruction
ARP
0
ARP
7
AR0
310h
AR0
310h
Program Memory
Program Memory
800h
1111h
800h
1111h
Data Memory
Data Memory
310h
0100h
310h
1111h