- 艾寶物聯(lián)IOBOV? ─ 工業(yè)無線測控專家
1、 數(shù)據(jù)傳送指令
數(shù)據(jù)傳送指令包括MOV(傳送)、SMOV(BCD碼移位傳送)、CML(取反傳送)、BMOV(數(shù)據(jù)塊傳送)、FMOV(多點(diǎn)傳送)、XCH(數(shù)據(jù)交換)。這里主要介紹MOV(傳送)指令。
傳送指令MOV將源操作數(shù)據(jù)傳送到指定目標(biāo),其指令代碼為FNC12,源操作數(shù)[S·]可取所有的數(shù)據(jù)類型,即K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目標(biāo)操作數(shù)[D·]為KnY、KnM、KnS、 T、C、D、V、Z。
如圖1所示,,當(dāng)X0為ON時(shí),執(zhí)行連續(xù)執(zhí)行型指令,數(shù)據(jù)100被自動(dòng)轉(zhuǎn)換成二進(jìn)制數(shù)且傳送給D10,當(dāng)X0變?yōu)?span >OFF時(shí),不執(zhí)行指令,但數(shù)據(jù)保持不變;當(dāng)X1為ON時(shí),T0當(dāng)前值被讀出且傳送給D20;當(dāng)X2為ON時(shí),數(shù)據(jù)100傳送給D30,定時(shí)器T20的設(shè)定值被間接指定為10秒,當(dāng)M0閉合時(shí),T20開始計(jì)時(shí);MOV(P)為脈沖執(zhí)行型指令,當(dāng)X5由OFF變?yōu)?span >ON時(shí)指令執(zhí)行一次,(D10)的數(shù)據(jù)傳送給(D12),其它時(shí)刻不執(zhí)行,當(dāng)X5變?yōu)?span >OFF時(shí),指令不執(zhí)行,但數(shù)據(jù)也不會(huì)發(fā)生變化;X3為ON時(shí),(D1、D0)的數(shù)據(jù)傳送給(D11、D10),當(dāng)X4為ON時(shí),將(C235)的當(dāng)前值傳送給(D21、D20)。注意:運(yùn)算結(jié)果以32位輸出的應(yīng)用指令、32位二進(jìn)制立即數(shù)及32位高速計(jì)數(shù)器當(dāng)前值等數(shù)據(jù)的傳送,必須使用(D)MOV或(D)MOV(P)指令。
如圖2所示,可用MOV指令等效實(shí)現(xiàn)由X0~X3對Y0~Y3的順序控制。
2、比較指令
比較指令有比較(CMP)、區(qū)域比較(ZCP)兩種,CMP的指令代碼為FNC10,ZCP的指令代碼為FNC11,兩者待比較的源操作數(shù)[S·]均為K、 H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目標(biāo)操作數(shù)[D·]均為Y、M、S。
CMP指令的功能是將源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,結(jié)果送到目標(biāo)操作元件[D·]中。在圖3中,當(dāng)X0為ON時(shí),將十進(jìn)制數(shù)100與計(jì)數(shù)器C2的當(dāng)前值比較,比較結(jié)果送到M0~M2中,若100>C2的當(dāng)前值時(shí),M0為ON,若100=C2的當(dāng)前值時(shí),M1為ON,
若100<C2的當(dāng)前值時(shí),M2為ON。當(dāng)X0為OFF時(shí),不進(jìn)行比較,M0~M2的狀態(tài)保持不變。
ZCP指令的功能是將一個(gè)源操作數(shù)[S·]的數(shù)值與另兩個(gè)源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,結(jié)果送到目標(biāo)操作元件[D·]中,源數(shù)據(jù)[S1·]不能大于[S2·]。在圖4中,當(dāng)X1為ON時(shí),執(zhí)行ZCP指令,將T2的當(dāng)前值與10和150比較,比較結(jié)果送到M0~M2中,若10>T2的當(dāng)前值時(shí),M0為ON,若10≤T2的當(dāng)前值≤150時(shí),M1為ON,若150<T2的當(dāng)前值時(shí),M2為ON。當(dāng)X1為OFF時(shí),ZCP指令不執(zhí)行,M0~M2的狀態(tài)保持不變。
3、加1指令和減1指令
加1指令INC和減1指令DEC的操作數(shù)均可取KnY、KnM、KnS、T、C、D、V、,它們不影響零標(biāo)志、借位標(biāo)志和進(jìn)位標(biāo)志。INC的指令代碼為FNC24,DEC的指令代碼為FNC25。INC指令的功能是將指定的目標(biāo)操作元件[D·]中二進(jìn)制數(shù)自動(dòng)加1,DEC指令的功能是將指定的目標(biāo)操作元件[D·]中二進(jìn)制數(shù)自動(dòng)減1,
如圖5所示,當(dāng)X0每次由OFF變?yōu)?span >ON時(shí),D20中的數(shù)自動(dòng)增加1,當(dāng)X1每次由OFF變?yōu)?span >ON時(shí),D21中的數(shù)自動(dòng)減1。
若用連續(xù)執(zhí)行型加1指令INC或連續(xù)執(zhí)行型減1指令DEC,當(dāng)條件成立時(shí),在每個(gè)掃描周期內(nèi)指定的目標(biāo)操作元件[D·]中數(shù)據(jù)要自動(dòng)加1或自動(dòng)減1。16位數(shù)據(jù)運(yùn)算時(shí),+32767再加1就變?yōu)?span >-32768,-32768再減1就變?yōu)?span >+32767。32位數(shù)據(jù)運(yùn)算時(shí),+2147483647再加1就變?yōu)?span >-2147483648,-2147483648再減1就變?yōu)?span >+2147483647。