栈存储器与多重输出指令MPS(Push),MRD(Read),MPP(Pop)
2018-03-13  来源:本站

MPS(Push)MRD(Read)MPP(Pop)指令分别是进栈、读栈和出栈指令,它们用于多重输出电路。   

FX系列有11个存储中间运算结果的堆栈存储器(见图1),堆栈采用先进后出的数据存取方式。MPS指令用于储存电路中有分支处的逻辑运算结果,以便以后处理有线圈的支路时可以调用该运算结集。使用一次MPS指令,当时的逻辑运算结果压入堆栈的第一层,堆栈中原来的数据依次向下一层推移。

MRD指令读取存储在堆栈最上层的电路中分支点处的运算结果,将下一个触点强制性地连接在该点。读数后堆栈内的数据不会上移或下移。

MPP指令弹出(调用并去掉)存储的电路中分支点的运算结果。首先将下一触点连接在该点,然后从堆栈中去掉该点的运算结果。使用MPP指令时,堆栈中各层的数据向上移动一层,最上层的数据在读出后从栈内消失。

1和图2分别给出了使用一层栈和使用多层栈的例子。每一条MPS指令必须有一条对应的MPP指令,处理最后一条支路时必须使用MPP指令,而不是MRD指令。在一块独立电路中,用进栈指令同时保存在堆栈中的运算结果不能超过11个。