有關STL語言編程
劉玉蓉
發(fā)布于2014-08-13 11:54
3
0
標簽:
請問STL語言編程中,JC跳轉(zhuǎn)指令前用AN OV,為什么不用A OV呢?
佳答案
JC跳轉(zhuǎn)指令前用AN OV,為什么不用A OV呢?
根據(jù)實際的邏輯判斷需要,并非都是用AN OV。有時也用A OV。
1、先舉一例:
OPN DB17// 打開數(shù)據(jù)塊 DB17。
L DBD0// 數(shù)據(jù)雙字 DBD0 的值裝入累加器 1 中。(該值必須為浮點數(shù)格式)。
SQR// 在累加器 1 中求浮點數(shù)(32 位,IEEE FP)的平方。結(jié)果保存到累加器 1 中。
AN OV/ /掃描狀態(tài)字中的 OV 位是否為“0”。
JC OK// 如果在 SQR 執(zhí)行過程中沒有出現(xiàn)錯誤,則跳轉(zhuǎn)到 OK 跳轉(zhuǎn)標號。
BEU// 如果在 SQR 執(zhí)行過程中出現(xiàn)錯誤,則塊無條件結(jié)束。
OK: T DBD4// 將累加器 1 中的內(nèi)容(結(jié)果)傳送到數(shù)據(jù)雙字 DBD4。
2、再說JC指令:
JC 若 RLO = 1,則跳轉(zhuǎn)。
a、執(zhí)行過程中沒有出現(xiàn)錯誤,則跳轉(zhuǎn):
上述例子中的開方指令SQR,如果在執(zhí)行過程中出現(xiàn)錯誤則OV 位置位。為了判斷執(zhí)行過程中沒有出現(xiàn)錯誤就應用了AN OV。即,如果 OV沒有置位,則RLO = 1。
b、執(zhí)行過程中出現(xiàn)錯誤,則跳轉(zhuǎn):
如果程序修改為執(zhí)行過程中出現(xiàn)錯誤,則跳轉(zhuǎn):
OPN DB17// 打開數(shù)據(jù)塊 DB17。
L DBD0// 數(shù)據(jù)雙字 DBD0 的值裝入累加器 1 中。(該值必須為浮點數(shù)格式)。
SQR// 在累加器 1 中求浮點數(shù)(32 位,IEEE FP)的平方。結(jié)果保存到累加器 1 中。
A OV/ /掃描狀態(tài)字中的 OV 位是否為“0”。
JC ERR// 如果在 SQR 執(zhí)行過程中出現(xiàn)錯誤,則跳轉(zhuǎn)到 ERR 跳轉(zhuǎn)標號。
T DBD4//如果沒有錯誤, 將累加器 1 中的內(nèi)容(結(jié)果)傳送到數(shù)據(jù)雙字 DBD4。
ERR:BEU// 如果在 SQR 執(zhí)行過程中出現(xiàn)錯誤,則塊無條件結(jié)束。