對(duì)BR的理解對(duì)不對(duì)
劉玉蓉
發(fā)布于2014-08-18 17:54
36
0
標(biāo)簽:
對(duì)BR理解不是很清楚,望看一下理解是不是正確的。
A(
L "MT510".Powder1
BTI
T #temp1
SET
SAVE
CLR
A BR
)
JNB _005
L 9
T #temp10
_005: NOP 0
在這個(gè)程序中用SET將RLO置1后保存到狀態(tài)字的BR位。問題1就是BR位是不是只表示字操作是不是正確,不做位操作的判斷?也就是這個(gè)程序中變量MT510和TEMP1不論是正確還是不正確都不影響程序往下執(zhí)行。因?yàn)樵趦蓚€(gè)變量下以經(jīng)將BR們置1。變量TEMP10在程序BR置1的后面是不是如果這個(gè)變量錯(cuò)誤。將要影響到程序的執(zhí)行。?問題2如果將SET.SAVE.CLR寫到程序的前方的話,程序還和以前的完全一樣嗎?
問題補(bǔ)充:
還是不怎么明白,能說的簡(jiǎn)單些嗎,好能有舉例
佳答案
A、BR位是表示字操作是不是正確。其他問題:
轉(zhuǎn)帖:
首先弄清BR位:狀態(tài)字的第8位稱為二進(jìn)制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無(wú)論字操作結(jié)果如何,都不會(huì)造成二進(jìn)制邏輯鏈中斷。
1. 因?yàn)樯厦娴哪嵌未a是由梯形圖轉(zhuǎn)換而來的。出現(xiàn)了“SET、SAVE及CLR”。就此而論,在做BCD-I轉(zhuǎn)換并存于temp1后,SET與SAVE兩指令。SET即將狀態(tài)字RLO置位;SAVE將RLO保存到狀態(tài)字的BR位。此時(shí)表示功能被正確執(zhí)行,即BR位為1.
2. CLR / 將狀態(tài)字RLO復(fù)位,以免影響下面的指令。
A BR / 此時(shí)BR位為1,RLO=0
)
JNB _005 / 若BR=1且RLO=0,則跳轉(zhuǎn)到005。
L 9 / 此時(shí)BR=1且RLO=1
T #temp10
_005: NOP 0
3. 在一個(gè)NetWork中串聯(lián)執(zhí)行多個(gè)指令或并聯(lián)執(zhí)行多個(gè)指令時(shí),該如何處理?
一般不要顧及用SAVE指令保存RLO。在下面的情況可用:
在一個(gè)邏輯塊中需檢另一查邏輯塊的BR位。
例如:在用戶編寫的FB/FC程序中,應(yīng)該對(duì)BR位進(jìn)行管理,功能塊正確執(zhí)行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達(dá)到管理BR位目的。
B、問題2如果將SET.SAVE.CLR寫到程序的前方的話,程序還和以前的完全一樣嗎?
就這個(gè)程序來講,是一樣。