芯片解密知識:單片機的運算器
運算器以完成二進制的算術/邏輯運算部件ALU為核心,再加上暫存器TMP、累加器ACC、寄存器B、程序狀態(tài)標志寄存器PSW及布爾處理器。累加器 ACC是一個八位寄存器,它是CPU中工作最頻繁的寄存器。在進行算術、邏輯運算時,累加器ACC往往在運算前暫存一個操作數(shù)(如被加數(shù)),而運算后又保 存其結果(如代數(shù)和)。寄存器B主要用于乘法和除法操作。標志寄存器PSW也是一個八位寄存器,用來存放運算結果的一些特征,如有無進位、借位等。其每位 的具體含意如下所示。PSW CY AC FO RS1 RS0 OV - P對用戶來講,最關心的是以下四位。
1?進位標志CY(PSW?7)。它表示了運算是否有進位(或借位)。如果操作結果在最高位有進位(加法)或者借位(減法),則該位為1,否則為0。
2?輔助進位標志AC。又稱半進位標志,它反映了兩個八位數(shù)運算低四位是否有半進位,即低四位相加(或減)有否進位(或借位),如有則AC為1狀態(tài),否則為0。
3?溢出標志位OV。MCS-51反映帶符號數(shù)的運算結果是否有溢出,有溢出時,此位為1,否則為0。
4?奇偶標志P。反映累加器ACC內容的奇偶性,如果ACC中的運算結果有偶數(shù)個1(如11001100B,其中有4個1),則P為0,否則,P=1。
PSW的其它位,將在以后再介紹。由于PSW存放程序執(zhí)行中的狀態(tài),故又叫程序狀態(tài)字?運算器中還有一個按位(bit)進行邏輯運算的邏輯處理機(又稱布爾處理機)。其功能在介紹位指令時再說明。
評論