亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦 > 學習電腦 > 電腦硬件知識 > CPU知識 > 西門子CPU寄存器怎么使用

      西門子CPU寄存器怎么使用

      時間: 沈迪豪908 分享

      西門子CPU寄存器怎么使用

        你知道西門子CPU寄存器怎么用嗎?下面由學習啦小編教大家西門子CPU寄存器怎么用

        西門子CPU寄存器的使用介紹

        1.引言

        CPU寄存器狀態(tài)字的各位給出了有關(guān)指令狀態(tài)或結(jié)果的信息以及所出現(xiàn)的錯誤,我們可以將二進制邏輯操作狀態(tài)位信號狀態(tài)直接集成到程序中,以控制程序執(zhí)行的流程。

        2.狀態(tài)字寄存器

        先簡單介紹一下CPU中狀態(tài)字。

        ● 首次檢查位:狀態(tài)字的0位稱作首次檢查位,如果/FC 位的信號狀態(tài)為“0”,則表示伴隨著下一條邏輯指令,程序中將開始一個新的邏輯串。FC前面的斜杠表示對FC取反。

        ● 邏輯運算結(jié)果:狀態(tài)字的第1位為RLO 位(RLO= “邏輯運算結(jié)果”),在二進制邏輯運算中用作暫時存儲位。比如,一串邏輯指令中的某個指令檢查觸點的信號狀態(tài),并根據(jù)布爾邏輯運算規(guī)則將檢查的結(jié)果(狀態(tài)位)與RLO位進行邏輯門運算,然后邏輯運算結(jié)果又存在RLO位中。

        ● 狀態(tài)位:狀態(tài)位(第2位)用以保存被尋址位的值。狀態(tài)位總是向掃描指令(A,AN,O,…)或?qū)懼噶?=,S,R,)顯示尋址位的狀態(tài)(對于寫指令,保存的尋址位狀態(tài)是本條寫指令執(zhí)行后的該尋址位的狀態(tài))。

        ● OR位:在用指令OR執(zhí)行或邏輯操作之前,執(zhí)行與邏輯操作的時候,就需要用到OR這一狀態(tài)位。OR位表示先前執(zhí)行的與邏輯操作產(chǎn)生的值為“1”,于是,邏輯操作或的執(zhí)行結(jié)果就已被確定為“1”。

        ● OV位:溢出表示算術(shù)或比較指令執(zhí)行時出現(xiàn)了錯誤。根據(jù)所執(zhí)行的算術(shù)或邏輯指令結(jié)果對該位進行設(shè)置。

        ● OS位:溢出存儲位是與OV位一起被置位的,而且在更新算術(shù)指令之后,它能夠保持這種狀態(tài),也就是說,它的狀態(tài)不會由于下一個算術(shù)指令的結(jié)果而改變。 這樣,即使是在程序的后面部分,也還有機會判斷數(shù)字區(qū)域是否溢出或者指令是否含有無效實數(shù)。OS位只有通過如下這些命令進行復(fù)位:JOS(若OS = 1,則跳轉(zhuǎn))命令,塊調(diào)用和塊結(jié)束命令。

        ● CC1及CC0位:CC1和CC0(條件代碼)位給出有關(guān)下列結(jié)果的相關(guān)信息:

        • 算術(shù)指令結(jié)果

        • 比較指令結(jié)果

        • 字邏輯指令

        • 在移位功能中,移出位相關(guān)信息。

        可以用以下指令來檢查條件代碼CC1和CC0。

        CC1 CC0 檢查完成后,如果:

        0 0 A == 0 結(jié)果 =0

        1 0 A > 0 結(jié)果 > 0

        0 1 A < 0 結(jié)果 < 0

        ● BR位:狀態(tài)字的第8位稱為二進制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操

        作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無論字操作結(jié)果如何,都不會造成二進制邏輯鏈中斷。在梯形圖的方塊指令中,BR位與ENO位有對應(yīng)關(guān)系,用于表明方塊指令是否被正確執(zhí)行:如果執(zhí)行出現(xiàn)了錯誤,BR位為0,ENO位也為0;如果功能被正確執(zhí)行,BR位為1,

        ENO位也為1。在用戶編寫的FB/FC程序中,應(yīng)該對BR位進行管理,功能塊正確執(zhí)行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達到管理BR位目的。

        狀態(tài)字的9-15位未使用。

        3.具體使用

        下面我們結(jié)合STEP7中的指針編程來具體介紹條件碼CC0/CC0的用法。

        不同的指令在CPU中執(zhí)行時間是不同的。浮點數(shù)比定點數(shù)執(zhí)行時間要長;字邏輯指令比位邏輯指令執(zhí)行時間要長;在某些程序中適當使用狀態(tài)字來進行編程可以減少CPU程序的執(zhí)行時間。

        例1:比如說要比較一個DB中塊的DBBO-DBB99這100個字節(jié)是正數(shù)是負數(shù)還是0,正數(shù)用1來表示;負數(shù)用-1來表示;0用0來表示。并且將對應(yīng)結(jié)果存入MB200開始的100個字節(jié)中。我們通常的做法可能為:

        如果利用條件碼來進行編程,既可以減少程序的大小還會減少一定的指令執(zhí)行時間,我們只需要將

        中間的比較程序加以優(yōu)化,即可以達到目的。

        例2:根據(jù)狀態(tài)位C0和CC1的狀態(tài)而跳轉(zhuǎn)的跳轉(zhuǎn)功能指令JZ不改變?nèi)魏螤顟B(tài)位的狀態(tài),而且邏輯操作結(jié)果RLO值也會“隨著”該跳轉(zhuǎn)功能帶到跳轉(zhuǎn)程序段中,供用戶程序其它邏輯操作之用(不改變/FC狀態(tài))。

        示例 兩個整數(shù)相減并需進行連續(xù)判斷:

        L MW2

        L MW8

        -I

        JZ ZERO // 如果結(jié)果等于“0”,則跳轉(zhuǎn)至標號ZERO處

        // 結(jié)果不等于“0”時所執(zhí)行的指令

        ZER // 結(jié)果等于“0”時,所要執(zhí)行的指令

        如果用戶不熟悉JZ指令和狀態(tài)位C0和CC1的具體含義,編程時就需要通過比較指令將比較結(jié)果存入一個二進制位中,再根據(jù)這個二進制位通過JC/JCN指令來控制程序的執(zhí)行了。

      西門子CPU寄存器怎么使用相關(guān)文章:

      1.大學生plc實訓報告范文

      2.plc實習報告范文6篇

      2017023