从数据表中取数有先进先出(FIFO)和后进先出(LIFO)两种。执行表取数指令后,实际填表数EC值自动减1。
先进先出指令(FIFO):移出表格(TBL)中的第一个数(数据0),并将该数值移至DATA指定存储单元,表格中的其他数据依次向上移动一个位置。
后进先出指令(LIFO):将表格(TBL)中的最后一个数据移至输出端DATA指定的存储单元,表格中的其他数据位置不变。
表取数指令格式如表1所示。
表1表取数指令格式
LAD
STL
FIFO TBL,DATA
LIFO TBL,DATA
说明
输入端TBL为数据表的首地址,输出端DATA为存放取出数值的存储单元
操作数及数据类型
TBL:VW, IW, QW, MW, SW, SMW, LW, T, C, *VD, *LD, *AC。数据类型:字。
DATA:VW, IW, QW, MW, SW, SMW, LW, AC, T, C, AQW, *VD, *LD, *AC。
数据类型:整数。
使ENO = 0的错误条件:0006(间接地址),0091(操作数超出范围),SM1.5(空表)SM4.3(运行时间)。
对特殊标志位的影响:SM1.5(试图从空表中取数,SM1.5=1)。