261

Example In the following example, the content of IR 040 is set to #0000 and then increm-

ented by 1 each cycle. For the first two cycles, AVG(––) moves the content of

IR 040 to DM 1002 and DM 1003. The contents of DM 1001 will also change

(which can be used to confirm that the results of AVG(––) has changed). On the

third and later cycles AVG(––) calculates the average value of the contents of

DM 1002 to DM 1004 and writes that average value to DM 1000.

@MOV(21)
040
#0000
00001
Address Instruction Operands
00000 LD 00001
00001 @MOV(21)
# 0000
040
00002 AVG(––)
040
# 0003
DM 1000
00003 CLC(41)
00004 ADB(50)
040
# 0001
040
AVG(––)
#0003
040
DM 1000
CLC(41)
ADB(50)
#0001
040
040
1st cycle 2nd cycle 3rd cycle 4th cycle
DM 1000 0000 0001 0001 0002 Average
DM 1001 0001 0002 8000 8001 Pointer
DM 1002 0000 0000 0000 0003
DM 1003 --- 0001 0001 0001 3 previous values of IR 40
DM 1004 --- --- 0002 0002
1st cycle 2nd cycle 3rd cycle 4th cycle
IR 40 0000 0001 0002 0003
5-21-4 SUM SUM(––)

C: Control data

IR, SR, AR, DM, HR, LR, #

R1: First word in range

IR, SR, AR, DM, HR, TC, LR
Ladder Symbols Operand Data Areas
D: First destination word
IR, SR, AR, DM, HR, LR

SUM(––)

C
R1
D

@SUM(––)

C
R1
D

Limitations The 3 rightmost digits of C must be BCD between 001 and 999.

If bit 14 of C is OFF (setting for BCD data), all data within the range R1 to R1+N1

must be BCD.

Special Math Instructions Section 5-21