Ldirw load, increment and repeat (word) – Zilog Z80380 User Manual
Page 137

5-103
Z380
™
U
SER
'
S
M
ANUAL
Z
ILOG
DC-8297-03
LDIRW
LOAD, INCREMENT AND REPEAT (WORD)
LDIRW
Operation:
repeat until (BC=0) begin
if (LW) then begin
(DE)
←
(HL)
(DE+1)
←
(HL+1)
(DE+2)
←
(HL+2)
(DE+3)
←
(HL+3)
DE
←
DE + 4
HL
←
HL + 4
BC(15-0)
←
BC(15-0) – 4
end
else begin
(DE)
←
(HL)
(DE+1)
←
(HL+1)
DE
←
DE + 2
HL
←
HL + 2
BC(15-0)
←
BC(15-0) – 2
end
end
This instruction is used for block transfers of strings of data. The words 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 words moved is determined by the contents of the BC
register. If the BC register contains zero when this instruction is executed, 65,536 words are
transferred. The effect of incrementing the pointers during the transfer is important if the
source and destination strings overlap with the source string starting at a higher memory
address. Placing the pointers at the lowest address of the strings and incrementing 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 save 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
LDIRW
11101101 11110000
(3+r+w)n
L