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