DL205 User Manual, 4th Edition, Rev. B
5–157
Chapter 5: Standard RLL Instructions - Table
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Remove from Bottom (RFB)
The Remove From Bottom instruction moves a value from the
bottom of a V-memory table to a V-memory location and
decrements a table pointer by 1. The first V-memory location in
the table contains the table pointer which indicates the next
location in the table to be moved. The instruction will be
executed once per scan provided the input remains on. The
instruction will stop operation when the pointer equals 0. The
function parameters are loaded into the first level of the
accumulator stack and the accumulator by two additional
instructions. Listed below are the steps necessary to program the
Remove From Bottom function.
Step 1: Load the length of the table (number of V-memory locations) into the first level of the
accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. (Remember, the
starting location of the table blank is used as the table pointer.) This parameter must be a
HEX value.
Step 3: Insert the RFB instructions which specifies destination V-memory location (Vaaa).
Helpful hint: — For parameters that require HEX values when referencing memory locations,
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator.
Helpful hint: — The instruction will be executed every scan if the input logic is on. If you do
not want the instruction to execute for more than one scan, a one shot (PD) should be used
in the input logic.
Helpful hint: — The pointer location should be set to the value where the table operation
will begin. The special relay SP0 or a one shot (PD) should be used so the value will only be
set in one scan and will not affect the instruction operation.
NOTE:
Status flags (SPs) are only valid until:
— another instruction that uses the same flag is executed, or
— the end of the scan.
The pointer for this instruction can be set to start anywhere in the table. It is not set automatically. You
have to load a value into the pointer somewhere in your program.
aaa
V
RFB
ý
ý
ý
þ
230
240
2
5
0
-1
2
6
0
Discrete Bit Flags
Description
SP56
On when the table pointer equals 0
Operand Data Type
DL260 Range
aaa
V-memory V
All (See page 3 - 56)
DS
Used
HPP Used