stl中set指令应用
刘玉蓉
发布于2014-11-07 17:36
228
0
标签:
请问:
除去Set 指令自身的置位功能,在语句表中经常看到单独的SET指令,而其上下貌似不是置位的意思,比如
L DBD [AR1,P#0.0]
T #DB_SCALE_HILIM
L DBD [AR1,P#4.0]
T #DB_SCALE_LOWLIM
SET
A DBX [AR1,P#8.0]
= #DB_SCALE_BIPOLAR
请问,类似如上的代码中,SET指令起到的是什么作用呢?如果去掉SET代码会有什么影响吗?(代码片段源自教程)
麻烦高手针对如上代码讲解一下SET指令的作用,好能扩展讲一下。
佳答案
SET指令是对状态字的逻辑运算结果位RLO进行置位,紧邻其后的赋值语句地址的信号状态随之变为“1”。
由于数据装载L和传送指令T用于各个存储区之间交换数据及存储区与过程I/模块之间交换数据(这里是利用寄存器AR1寻址,地址寄存器的内容加上偏移量形成地址指针,该指针指向数值所在的存储单元),CPU在每次扫描中无条件执行L和T指令,而不受RLO的影响。而SET指令后面是“与”指令,在执行此指令前,需要将前面的状态字的逻辑结果位置“1”,以便执行后面的位指令和赋值指令