DL205 User Manual, 4th Edition, Rev. D
5-157
Chapter 5: Standard RLL Instructions
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 2 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.
aaaV
RFB
230
240
250-1
260
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