傳送指令也是我們在編程過程中經常會要使用到的指令,我們也要掌握好它。所謂的傳送指令就是把一個存儲單元(輸入端)的數值復制到另一個存儲單元(輸出端)里面,我們的傳送指令經常是用于對存儲單元的清零或者程序的初始化等場合。
傳送指令有單個數據傳送指令MOV,以及塊傳送指令BLKMOV,根據數據的類型它又可以分為字節、字、雙字或者實數等這幾種情況,不過要注意的是塊傳送指令沒有實數類型的指令。除此之外,還有字節交換指令SWAP,字節傳送立即讀指令和字節傳送立即寫指令,當然這些指令用的相對較少,對這幾個指令我們就先了解一下。
傳送指令MOV的輸入IN可以是常數、IB、QB、VB、SMB、LB、SB,輸出可以是IB、QB、VB、SMB、LB、SB,但是要注意輸出是沒有常數的,如果輸出是常數,那么是會提示錯誤的。
除此之外,我們在使用傳送指令的時候,要注意的是輸入和輸出的數據類型是要一致的,如果不一致,同樣也是會提示錯誤的。
那么數據塊傳送指令BLKMOV,它是將字節或字或雙字數目N從輸入存儲單元傳送到輸出存儲單元,也就是說塊傳送指令它是批量傳送的,注意N的范圍是1~255,使用的時候要注意不能超限。那么下面這條指令也就是將VB0~VB9的里面的數據傳送到VB50~VB59里面。
然后再學習一下字節交換指令SWAP,字節交換指令的功能是交換字的最高位字節和最低位字節,下面就舉個例子來說明一下指令的用法,那么以下這條指令是對VW0進行字節交換,因為VW0=VB0 VB1,它是低地址在前高地址在后的,執行了指令之后則變成VB1 VB0,變為高地址在前低地址在后了。
下面再繼續看一下字節傳送立即讀指令和字節傳送立即寫指令,它跟前面講到的立即指令是一樣的,而且它也是只針對I/O地址的。字節傳送立即讀指令是對輸入I進行讀操作,字節傳送立即寫指令是對輸出Q進行寫操作。
那么今天就學習了傳送指令,傳送指令也還算是比較簡單的是吧?那么之后就要學習一些相對難一些的指令了,你準備好了嗎?