
1
μ
P
REPC
REPNC
REP
REPE
REPZ
REPNE
REPNZ
MOVBK
CMPBK
CMPM
LDM
STM
dst-block,
src-block
src-block,
dst-block
dst-block
src-block
dst-block
Operation Code
0 1 1 0 0 1 0 1
0 1 1 0 0 1 0 0
1 1 1 1 0 0 1 1
1 1 1 1 0 0 1 0
1 0 1 0 0 1 0 W
1 0 1 0 0 1 1 W
1 0 1 0 1 1 1 W
1 0 1 0 1 1 0 W
1 0 1 0 1 0 1 W
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
Group
Mnemonic
Operand
1
1
1
1
1
1
1
1
1
Bytes
Flags
AC CY V
P
S
Z
Executes the primitive block transfer instruction in the continued
byte while CW
≠
0, and decrements CW by one. If any interruption
is held at this time, it is processed. The program exits the loop
when CY
≠
1.
Same as above.
The program exits the loop when CY
≠
0.
Executes the primitive block transfer instruction in the continued
byte while CW
≠
0, and decrements CW by one. If any interruption
is held at this time, it is processed. The program exits the loop
when the primitive block transfer instruction is CMPBK or CMPM,
and when Z
≠
1.
Same as above.
The program exits the loop when Z
≠
0.
When W = 0, (IY)
←
(IX)
DIR = 0: IX
←
IX + 1, IY
←
IY + 1
DIR = 1: IX
←
IX – 1, IY
←
IY – 1
When W = 1, (IY + 1, IY)
←
(IX + 1, IX)
DIR = 0: IX
←
IX + 2, IY
←
IY + 2
DIR = 1: IX
←
IX – 2, IY
←
IY – 2
When W = 0, (IX) – (IY)
DIR = 0: IX
←
IX + 1, IY
←
IY + 1
DIR = 1: IX
←
IX – 1, IY
←
IY – 1
When W = 1, (IX + 1, IX) – (IY + 1, IY)
DIR = 0: IX
←
IX + 2, IY
←
IY + 2
DIR = 1: IX
←
IX – 2, IY
←
IY – 2
When W = 0, AL – (IY)
DIR = 0: IY
←
IY + 1; DIR = 1: IY
←
IY – 1
When W = 1, AW – (IY + 1, IY)
DIR = 0: IY
←
IY + 2; DIR = 1: IY
←
IY – 2
When W = 0, AL
←
(IX)
DIR = 0: IX
←
IX + 1; DIR = 1: IX
←
IX – 1
When W = 1, AW
←
(IX + 1, IX)
DIR = 0: IX + 2; DIR = 1: IX
←
IX – 2
When W = 0, (IY)
←
AL
DIR = 0: IY
←
IY + 1; DIR = 1: IY
←
IY – 1
When W = 1, (IY + 1, IY)
←
AW
DIR = 0: IY
←
IY + 2; DIR = 1: IY
←
IY – 2
Operation
×
×
×
×
×
Repeat
prefix
Primitive
block
transfer
×
×
×
×
×
×
×