stl中set指令應(yīng)用
劉玉蓉
發(fā)布于2014-11-07 17:36
228
0
標(biāo)簽:
請(qǐng)問(wèn):
除去Set 指令自身的置位功能,在語(yǔ)句表中經(jīng)??吹絾为?dú)的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
請(qǐng)問(wèn),類似如上的代碼中,SET指令起到的是什么作用呢?如果去掉SET代碼會(huì)有什么影響嗎?(代碼片段源自教程)
麻煩高手針對(duì)如上代碼講解一下SET指令的作用,好能擴(kuò)展講一下。
佳答案
SET指令是對(duì)狀態(tài)字的邏輯運(yùn)算結(jié)果位RLO進(jìn)行置位,緊鄰其后的賦值語(yǔ)句地址的信號(hào)狀態(tài)隨之變?yōu)椤?”。
由于數(shù)據(jù)裝載L和傳送指令T用于各個(gè)存儲(chǔ)區(qū)之間交換數(shù)據(jù)及存儲(chǔ)區(qū)與過(guò)程I/模塊之間交換數(shù)據(jù)(這里是利用寄存器AR1尋址,地址寄存器的內(nèi)容加上偏移量形成地址指針,該指針指向數(shù)值所在的存儲(chǔ)單元),CPU在每次掃描中無(wú)條件執(zhí)行L和T指令,而不受RLO的影響。而SET指令后面是“與”指令,在執(zhí)行此指令前,需要將前面的狀態(tài)字的邏輯結(jié)果位置“1”,以便執(zhí)行后面的位指令和賦值指令