2.2.28 (2) EEPMOV (W)
EEPMOV (MOVe data to EEPROM)
Block Data Transfer
Operation
if R4
≠
0 then
repeat
@ER5+
→
@ER6+
R4 – 1
→
R4
until R4 = 0
else next;
Assembly-Language Format
EEPMOV.W
Operand Size
—
Condition Code
H: Previous value remains unchanged.
N: Previous value remains unchanged.
Z:
Previous value remains unchanged.
V: Previous value remains unchanged.
C: Previous value remains unchanged.
I
UI
H
U
N
Z
V
C
—
—
—
—
—
—
—
—
Description
This instruction performs a block memory transfer. It moves data from the memory location
specified in ER5 to the memory location specified in ER6, increments ER5 and ER6, decrements
R4, and repeats these operations until R4 reaches zero. Execution then proceeds to the next
instruction. No interrupts except NMI are detected while the block transfer is in progress. When
the EEPMOV instruction ends, R4 contains 0, and ER5 and ER6 contain the last transfer address
+ 1. The data transfer is performed a byte at a time, with R4 indicating the number of bytes to be
transferred. The word symbol in the assembly-language format designates the size of R4
(allowing a maximum 65535 bytes to be transferred).
Operand Format and Number of States Required for Execution
Note: n is the initial value of R4. Although n bytes of data are transferred, memory is accessed
2(n + 1) times, requiring 4(n + 1) states. (n = 0, 1, 2, …, 65535).
Notes
This instruction first reads memory at the addresses indicated by ER5 and ER6, then carries out
the block data transfer.
Instruction Format
1st byte
2nd byte
3rd byte
4th byte
—
EEPMOV.W
7
B
D
4
5
9
8
F
8+4n
No. of
States
Addressing
Mode
Mnemonic
Operands
96