111
These instructions are used when differentiated instructions (i.e., those pre-
fixed with an @) are not available and single-cycle execution of a particular
instruction is desired. They can also be used with non-differentiated forms of
instructions that have differentiated forms when their use will simplify pro-
gramming. Examples of these are shown below.
There are no flags affected by these instructions.
DIFU(13) and DIFD(14) operation can be uncertain when the instructions are
programmed between IL and ILC, between JMP and JME, or in subroutines.
Refer to
5-7
INTERLOCK and INTERLOCK CLEAR – IL(02) and ILC(03)
,
5-8
JUMP and JUMP END – JMP(04) and JME(05)
, and
5-19 Subroutines and
Interrupt Control
for details.
In diagram A, below, whenever CMP(20) is executed with an ON execution
condition it will compare the contents of the two operand words (HR 10 and
DM 0000) and set the arithmetic flags (GR, EQ, and LE) accordingly. If the
execution condition remains ON, flag status may be changed each cycle if
the content of one or both operands change. Diagram B, however, is an ex-
ample of how DIFU(13) can be used to ensure that CMP(20) is executed only
once each time the desired execution condition goes ON.
00000
CMP(20)
HR 10
DM 0000
Diagram A
22500
CMP(20)
HR 10
DM 0000
Diagram B
DIFU(13) 22500
00000
Address
Instruction
Operands
00000
LD
00000
00001
CMP(20)
HR
10
DM
0000
Address
Instruction
Operands
00000
LD
00000
00001
DIFU(13)
22500
00002
LD
22500
00003
CMP(20)
HR
10
DM
0000
Although a differentiated form of MOV(21) is available, the following diagram
would be very complicated to draw using it because only one of the condi-
tions determining the execution condition for MOV(21) requires differentiated
treatment.
22500
MOV(21)
HR 10
DM 0000
DIFU(13) 22500
00000
00001
00002
00003
00004
00005
Address
Instruction
Operands
00000
LD
00000
00001
DIFU(13)
22500
00002
LD
22500
00003
LD
00001
00004
AND NOT
00002
00005
AND NOT
00003
00006
OR LD
---
00007
LD 00004
00008
AND NOT
00005
00009
OR LD
---
00010
MOV(21)
HR
10
DM
0000
Flags
Precautions
Example 1: Use when
There’s No Differentiated
Instruction
Example 2: Use to Simplify
Programming
Bit Control Instructions
Section 5-7