第5章 數據處理、運算指令及應用
本章要點:
數據傳送、字節交換、字節立即讀寫、移位、轉換指令的介紹、應用及實訓
算術運算、邏輯運算、遞增/遞減指令的介紹、應用及實訓
表的定義、填表指令、表取數指令、填充指令、表查找指令的介紹
5.1 數據處理指令
5.1.1 數據傳送指令
5.1.2 字節交換、字節立即讀寫指令
5.1.3 移位指令及應用舉例
5.1.4 轉換指令
5.1.5天塔之光的模擬控制實訓
5.2 算術運算、邏輯運算指令
5.2.1 算術運算指令
5.2.2 邏輯運算指令
5.2.3 遞增、遞減指令
5.2.4 運算單位轉換實訓
5.3 表功能指令
5.3.1 填表指令
5.3.2 表取數指令
5.3.3 表查找指令
5.3.4 字填充指令
5.4 習題
5.1.1 數據傳送指令
1. 字節、字、雙字、實數單個數據傳送指令MOV
數據傳送指令MOV,用來傳送單個的字節、字、雙字、實數。指令格式及功能如表5-1所示。
表5-1單個數據傳送指令MOV指令格式

圖5-1
使ENO = 0即使能輸出斷開的錯誤條件是:SM4.3(運行時間),0006(間接尋址錯誤)。
【例5-1】將變量存儲器VW10中內容送到VW100中。程序如圖5-1所示。

例5-1題圖
LD I0.1
MOVW VW10, VW100
2. 字節、字、雙字、實數數據塊傳送指令BLKMOV
數據塊傳送指令將從輸入地址IN開始的N個數據傳送到輸出地址OUT開始的N個單元中,N的范圍為1至255,N的數據類型為:字節。指令格式及功能如表5-2所示。
表5-2 數據傳送指令BLKMOV指令格式

圖5-2
使ENO = 0的錯誤條件:0006(間接尋址錯誤)0091(操作數超出范圍)。
【例5-2】程序舉例:將變量存儲器VB20開始的4個字節(VB20- VB23)中的數據,移至VB100開始的4個字節中(VB100-VB103)。程序如圖5-2所示。
LAD STL
LD I0.0
BMB VB20 ,VB100,4

例5-2圖
程序執行后,將VB20~VB23中的數據30、31、32、33送到VB100~VB103。
執行結果如下:數組1數據 30 31 32 33
數據地址 VB20 VB21 VB22 VB23
塊移動執行后:數組2數據 30 31 32 33
數據地址 VB100 VB101 VB102 VB103










