beautypg.com

Lddr load, decrement and repeat (byte) – Zilog Z80380 User Manual

Page 132

background image

5-98

Z380

U

SER

'

S

M

ANUAL

DC-8297-03

Z

ILOG

LDDR
LOAD, DECREMENT AND REPEAT (BYTE)

LDDR

Operation:

repeat until BC=0 begin

(DE)

(HL)

DE

DE – 1

HL

HL – 1

BC(15-0)

BC(15-0) – 1

end

This instruction is used for block transfers of strings of data. The bytes of data at the location
addressed by the HL register are loaded into memory starting at the location addressed by
the DE register. The number of bytes moved is determined by the contents of the BC register.
If the BC register contains zero when this instruction is executed, 65,536 bytes are
transferred. The effect of decrementing the pointers during the transfer is important if the
source and destination strings overlap with the source string starting at a lower memory
address. Placing the pointers at the highest address of the strings and decrementing the
pointers ensures that the source string is copied without destroying the overlapping area.

This instruction can be interrupted after each execution of the basic operation. The Program
Counter value of the start of this instruction is saved before the interrupt request is
accepted,so that the instruction can be properly resumed.

Flags:

S:

Unaffected

Z:

Unaffected

H:

Cleared

V:

Cleared

N:

Cleared

C:

Unaffected

Addressing

Execute

Mode

Syntax

Instruction Format

Time

Note

LDDR

11101101 10111000

n X (3+r+w)