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