- 單片機原理及應用系統設計
- 胡景春主編
- 731字
- 2021-10-27 13:42:42
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 Word,PSW)
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”的個數為偶數。
- Intel FPGA/CPLD設計(基礎篇)
- Augmented Reality with Kinect
- Applied Unsupervised Learning with R
- 計算機組裝·維護與故障排除
- micro:bit魔法修煉之Mpython初體驗
- Learning Game Physics with Bullet Physics and OpenGL
- Mastering Adobe Photoshop Elements
- 微服務分布式架構基礎與實戰:基于Spring Boot + Spring Cloud
- 分布式微服務架構:原理與實戰
- OpenGL Game Development By Example
- Internet of Things Projects with ESP32
- Intel Edison智能硬件開發指南:基于Yocto Project
- “硬”核:硬件產品成功密碼
- Blender 3D By Example
- Zabbix 4 Network Monitoring