LDDR

Repeating block load with decrement.
Function: (DE) <- (HL); DE <- DE - 1; HL <- HL -1; BC <- BC - 1
Repeat until BC = 0
 
Format:
1110 1101
 
byte 1: ED
 
1011 1000
 
byte 2: B8
 
Description: The contents of the memory location addressed by HL are loaded into the memory location addressed by DE. Then BC, DE, and HL are all decremented. If B != 0, then the program counter is decremented by 2 and the instruction re-executed.
 
Data Flow:
 
Timing: B != 0: 5 M cycles; 21 T states: 10.5 usec @ 2 MHz
B = 0: 4 M cycles; 16 T states: 8 usec @ 2 MHz
 
Addressing Mode: indirect
 
Flags:
 
Example:
LDDR

OBJECT CODE
Before:
 
After: