算術邏輯運算指令

算術邏輯運算指令

算術邏輯運算指令包括算術運算指令、邏輯運算指令和移位指令。算術運算指令是計算機能夠執行的基本數值計算,包括加法ADD、減法SUB、乘法MUL、除法DIV等。邏輯運算指令是對數據進行邏輯操作,包括邏輯與AND、邏輯或OR、邏輯非NOT等三種基本操作以及同或、異或等組合邏輯操作。

簡介

在計算機技術中,“指令”是由指令集架構定義的單個的CPU操作。在更廣泛的意義上,“指令”可以是任何可執行程式的元素的表述,例如位元組碼。一台計算機通常有幾十條到幾百條指令,按其所完成的功能可分為:算術邏輯運算指令、移位指令、浮點運算指令、十進制運算指令、數據傳送指令、轉移指令、字元串處理指令、向量運算指令、堆疊指令、輸入輸出指令、特權指令和控制指令等。算術邏輯運算指令的主要功能是進行各類數據信息處理,計算機一般都具有這類指令。早期的小型計算機和微型計算機的硬體結構比較簡單,一般只設定二進制定點加減法、比較和求補碼(取負數)等最基本的算術指令。由於晶片集成度的提高,後來的中央處理器都支持用硬體實現的乘除法指令。計算機還具有對兩個運算元進行邏輯乘、邏輯加和按位加(異或)操作的邏輯運算。有些計算機還設定位操作指令,如位測試(測試指定位的值)、 位清除(把數中的某一位置 為零)、位求反(取某位的非值)等指令。

算術運算指令

算術運算指令主要包括二進制的定點、浮點的加、減、乘、除運算指令;求反、求補、加1、減1、比較指令;十進制加、減運算指令等。不同計算機對算術運算類指令的支持有很大差別。對於低檔機而言,由於硬體結構相對簡單,一般僅支持二進制定點加、減、比較、求補等最簡單、最基本的指令。而在一些高檔機中,為了提高機器性能,除了最基本的算術運算指令之外,還設定了乘、除運算指令、浮點運算指令、十進制運算指令,甚至乘方、開方指令和多項式計算指令。在一些大、巨型機中,不僅支持標量運算,還設定了向量運算指令,可以直接對整個向量或矩陣進行求和、求積運算 。

算術運算指令的運算元有多種類型,如定點數、浮點數,定點數又可以分為帶符號數和無符號數,浮點數又可以分為單精度和雙精度,因此,每一種運算指令也按運算元的類型分為帶符號數定點運算、無符號數定點運算、單精度浮點運算、雙精度浮點運算等。

浮點運算指令:浮點運算適合對數值範圍變化較大的數,用於科學計算或工程計算的計算機往往設定浮點運算指令,處理的數經常為單精度或雙精度數。某些計算機沒有設定浮點運算指令而用子程式實現浮點運算,因而處理速度慢。

十進制運算指令:在某些數據處理系統中,輸入輸出數據很多,設定十進制運算指令可減少十進制數與二進制數之間的轉換,提高處理速度。在通用大型計算機系統中,這些數由若干位十進制數碼組成,每個十進制位用BCD碼錶示;在某些微處理器中設定的十進制加減法運算指令往往只對1位十進制數進行運算,對於多位的十進制數的運算則用程式實現。

移位操作指令

算術邏輯運算指令 算術邏輯運算指令
算術邏輯運算指令 算術邏輯運算指令
算術邏輯運算指令 算術邏輯運算指令
算術邏輯運算指令 算術邏輯運算指令
算術邏輯運算指令 算術邏輯運算指令

移位操作指令是一組經常使用的指令,屬於彙編語言邏輯指令中的一部分。移位指令分算術移位、邏輯移位和循環移位3種。可以對n位運算元左移或右移位。算術移位和邏輯移位的主要差別在於右移時,填入高位的數碼不同,算術移位處理的是帶符號的運算元所以右移時保持最高位(符號位)不變;邏輯移位處理的是不帶符號的運算元, 右移時,最高位填入0。算術左移和邏輯左移的操作是相同的,低位補充0。循環左移將移出的最高位送到最低位;循環右移將移出的最低位送到最高位,使數據本身循環傳送。移位還可實現對帶符號數或不帶符號數乘以或整除以的運算(分別左移位或右移位)。移位指令的執行時間比乘除法運算的執行時間短得多。

邏輯運算指令

邏輯運算指令進行二進制數據的按位運算。例如邏輯與指令,當兩個運算元的對應位都為“1”時,邏輯與操作結果中該位才為“1”,該指令常用於禁止或檢測數據字中的某些位;邏輯或指令則是當兩個運算元的對應位中有一個為“1”時,操作結果中的該位為“1”,該指令常用於將數據字中的某些位置為“1”;邏輯非就是把數據字中的所有位求反。

相關詞條

熱門詞條

聯絡我們