程序狀態(tài)字寄存器PSW介紹
psw.7 psw.6psw.5 psw.4 psw.3psw.2 psw.1 psw.0
本文引用地址:http://2s4d.com/article/201611/316790.htmcy | Ac | F0 | RS1 | RS0 | Ov | —— | P |
程序狀態(tài)字寄存器PSW是一個8位寄存器,用于存放程序運行中各種狀態(tài)信息。其中,F(xiàn)0RS1RS0可以由用戶自己編程設定,其他位的狀態(tài)是根據(jù)程序執(zhí)行結果,由硬件自動設置的。下面分別介紹。
Cy:進位標志,是PSW中最常用的標志位
功能有二:一、存放算術運算的進位標志,在進行加減運算時,若操作結果的最高位有進位或借位,則自動置1,否則為0。二、在位操作中,作位累加器C使用。
Ac:輔助進位標志
在加減運算時,低4位向高4位進位或借位時,自動置1,否則為0。在BCD碼調整中也要用到Ac位的狀態(tài)。
F0:用戶標志位
用戶可以編程對這個標志位置位或復位,使用最為靈活,常用作數(shù)據(jù)收發(fā)標志或準備好的標志。
RS1&RS0:寄存器組選擇位
選擇CPU當前使用的工作寄存器組,單片機中共有四組工作寄存器,每次上電或復位后RS被置0,用戶可以編程選擇當前工作寄存器,達到保護某一區(qū)R0~R7中數(shù)據(jù)的目的。
Ov:溢出標志位
在帶符號的加減運算中,若運算超出了累加器A所能表示的符號數(shù)的有效范圍(-128~127),則自動置1,表示產生了溢出,說明運算結果是錯誤的。否則為0。
乘法運算中,Ov=1表示乘積超過255,即乘積分別在A和B中;否則為0,表示乘積只在A中。
除法運算中,Ov=1表示除數(shù)為0。
P:奇偶標志位
表明累加器A中數(shù)據(jù)的奇偶性。若A中有奇數(shù)個“1”,則自動置1,否則為0。此標志位常用于串行通信中的奇偶校驗。
評論