beautypg.com

Indrw input, decrement and repeat (word) – Zilog Z80380 User Manual

Page 109

background image

5-75

Z380

U

SER

'

S

M

ANUAL

Z

ILOG

DC-8297-03

INDRW

INPUT, DECREMENT AND REPEAT (WORD)

INDRW

Operation:

repeat until (BC=0) begin

(HL)

(DE)

BC(15-0)

BC(15-0) – 1

HL

HL – 2

end

This instruction is used for block input of strings of data. The string of input data from the
selected peripheral is loaded into memory at consecutive addresses, starting with the
location addressed by the HL register and decreasing. During the I/O transaction the
32-bit DE register is placed on the address bus.

First the BC register, used as a counter, is decremented by one. First the word of data from
the selected peripheral is loaded into the memory location addressed by the HL register.
Then the BC register, used as a counter, is decremented by one. The HL register is then
decremented by two, thus moving the pointer to the next destination for the input. If the result
of decrementing the BC register is 0, the instruction is terminated, otherwise the sequence
is repeated. If the BC register contains 0 at the start of the execution of this instruction, 65536
bytes are input.

This instruction can be interrupted after each execution of the basic operation. The Program
Counter value at 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:

Set if the result of decrementing BC is zero; cleared otherwise

H:

Unaffected

V:

Unaffected

N:

Set

C:

Unaffected

Addressing

Execute

Mode

Syntax

Instruction Format

Time

Note

INDRW

11101101 11111010

n X (2+i+w)