官术网_书友最值得收藏!

2.4.1 運算器

運算器對操作數進行算術、邏輯和位操作運算。主要包括算術邏輯運算單元ALU、累加器A、位處理器及程序狀態字寄存器PSW等。

1.算術邏輯運算單元ALU

算術邏輯運算單元ALU可對8位變量進行邏輯運算(與、或、異或、循環、求補和清0)和算術運算(加、減、乘、除),還有位操作功能,對位變量進行位處理,如置“1”、清“0”、求補、測試轉移及邏輯“與”“或”等。

2.累加器A

累加器是CPU中使用頻繁的一個8位寄存器,在8051指令系統中,Acc的作用如下。

1)ALU單元的輸入數據源之一,又是ALU運算結果存放單元。

2)數據傳送大多都通過累加器A,相當于數據的中轉站。

3.程序狀態字寄存器Program Status WordPSW

PSW是特殊功能寄存器,字節地址D0H。包含了程序運行狀態的信息,其中4位保存當前指令執行后的狀態,供程序查詢和判斷;2位用來選擇內部的工作寄存器;1位為用戶自定義標志。格式如圖2-3所示。

圖2-3 PSW格式

PSW中各位功能如下。

1)Cy(PSW.7)進位標志位。可寫為C。在算術和邏輯運算時,若有進位/借位,Cy=1;否則,Cy=0。在位處理器中,它是位累加器。

2)Ac(PSW.6)輔助進位標志位。在BCD碼運算時,用作十進位調整。即當D3位向D4位產生進位或借位時,Ac=1;否則,Ac=0。

3)F0(PSW.5)用戶設定標志位。由用戶自己定義的狀態標志位,可用指令來使它置“1”或清“0”,表示某種控制的標志。

4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器選擇位。選擇片內RAM區中的4組工作寄存器區中的某一組為當前工作寄存區,見表2-2。

表2-2 4組工作寄存器區選擇

5)OV(PSW.2)溢出標志位。當執行有符號數算術指令時,用來指示運算結果是否產生溢出。如果結果產生溢出,OV=1;否則,OV=0。

6)PSW.1位:保留位。

7)P(PSW.0)奇偶標志位。指令執行后,P=1,表示累加器A中“1”的個數為奇數;P=0,表示累加器A中“1”的個數為偶數。

主站蜘蛛池模板: 马龙县| 泗水县| 泉州市| 洛川县| 富蕴县| 中卫市| 航空| 巴彦县| 姜堰市| 江阴市| 漳州市| 遂平县| 黄浦区| 喀喇沁旗| 屯门区| 新宾| 中卫市| 慈利县| 蒙阴县| 凤城市| 宣化县| 林周县| 潢川县| 绿春县| 呼玛县| 施秉县| 建平县| 鄂温| 屏山县| 瓦房店市| 永胜县| 平陆县| 吐鲁番市| 阳泉市| 安顺市| 万全县| 枣庄市| 桐城市| 泰和县| 仙桃市| 仁化县|