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 ExternalSARAMDARAMROM
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