1樓:匿名使用者
add subb div mul 等都可以影響到psw的cy位,至於什麼時候得到,隨時都可以,你任何時候想知道cy都可以隨時訪問。訪問指令如:
jcjnc
2樓:珠山龍少
程式狀態字暫存器psw是一個8位暫存器,用於存放程式執行中各種狀態資訊。其中,f0\rs1\rs0可以由使用者自己程式設計設定,其他位的狀態是根據程式執行結果,由硬體自動設定的。
cy:進位標誌,是psw中最常用的標誌位
功能有二:
一、存放算術運算的進位標誌,在進行加減運算時,若操作結果的最高位有進位或借位,則自動置1,否則為0。
二、在位操作中,作位累加器c使用。
因此可以根據cy進行數值大小的判斷、或者跳轉。
89c51微控制器的psw暫存器各位標誌的意義是什麼?
3樓:匿名使用者
單片來機內部的特殊寄源存器,程式狀態功能暫存器(psw), psw.7 psw.6 psw.
5 psw.4 psw.3 psw.
2 psw.1 psw.0cyacf0rs1rs0ov pp:
累加bai器a的奇偶校驗位
du;p=0,a為偶數;p=1,a為奇數;ov:溢位標zhi志位,對有符號的數dao(-127~128)操作時,超過有效值(-127~128)時ov=1;在有效值內ov=0;rs0.rs1:
暫存器組選擇位,一共有四組r0~r7;f0:使用者定義標誌位,可清零或至一,用做判別(你自己喜歡怎麼用都行);ac:半進位標誌位,低四位向高四位進或借位時ac=1,否則ac=0;cy:
進位標誌,在最高位有進位(做加法時)或借位(減法時),cy=1;否則cy=0;
4樓:珠山龍少
(1)cy(psw.7)psw.7是cy即c,**於最近一次算術指令或邏輯指令執行時軟硬體的改內寫。
(2)ac(psw.6) 輔助進位標容
志位,用於bcd碼的十進位制調整運算。當低四位向高四位借進位時ac被置1,否則清0。此位也可和da指令結合起來用。
(3)f0(psw.5)使用者使用的狀態標誌位。這個你可以任意使用。
(4)rs1、rs0(psw.4、psw.3):4組工作暫存器區選擇控制位1和位0。
(5)ov(psw.2)溢位標誌位 在執行算術指令時,指示運算是否產生溢位。
(6)psw.1位: 保留位,未用。
(7)p(psw.0)奇偶標誌位
p=1,a中「1」的個數為奇數
p=0,a中「1」的個數為偶數
5樓:做而論道
看看抄百bai度百du科zhi
微控制器 特殊功能暫存器 如 psw 的cy位,在ram中佔用一位元組還是1bit
6樓:做而論道
微控制器 特殊功能暫存器 psw,是八位的。
即一個位元組。
cy,是其中的一個位。
特殊功能暫存器,雖然是ram,但是,
它並不屬於片內ram。
7樓:匿名使用者
佔一位,c51微控制器的psp暫存器
微控制器中psw暫存器標誌位 20
8樓:匿名使用者
ov是溢位位,主要針對有符號數,加減時最高位和次高位中有且僅有一個專產生進位或屬借位,代表結果超出有符號數的範圍,單位元組就是-128~127;
cy是進位,主要針對無符號數。代表結果超出無符號數的範圍,單位元組就是0~255;
微控制器程式狀態字psw的ov位到底是怎麼判斷溢位的?有cy位不就夠了麼?
9樓:津人依夢趣談體育
微控制器程式狀態字psw的ov位是溢位標誌,當進行算數運算時,如果產生溢位,則硬體將ov置1,否則清0。執行有符號加、減法指令的時候,當d6位有向d7位的進位或借位時c6y=1時,而d7位沒有向cy位的進位或借位c7y=0時,ov=1或c6y=0,c7y=,1時,則ov=1。
溢位的邏輯表示式:ov=c6y⊕c7y。cy位是累加器的進位或借位標誌,對於無符號數可以用cy來判斷溢位,但是對有符號數就無法判斷了,所以只有cy位是不夠的。
psw各位的定義如下:
cy(psw.7):d7位,進位、借位標誌。進位、借位cy=1;否則cy=0.
ac(psw.6):d6位,輔助進位、借位標誌。當d3向d4有借位或進位時,ac=1;否則ac=0.
f0(psw.5):d5位,使用者標誌位;
rs1、rs0(psw.4及psw.3):d4、d3位,暫存器組選擇控制位;
ov(psw.2):溢位標誌。有溢位ov=1,否則ov=0;
f1(psw·1):d1位,使用者標誌位;
p(psw·0):奇偶校驗標誌位;累加器acc中的運算結果有奇數個1時p=1,否則p=0。
擴充套件資料
資料型別:
sfr也是一種擴充資料型別,佔用一個記憶體單元,值域為0~255。利用它可以訪問51微控制器內部的所有特殊功能暫存器。如用sfr p1 = 0x90這一句定p1為p1埠在片內的暫存器,在後面的語句中我們可以用p1 = 255(對p1埠的所有引腳置高電平)之類的語句來操作特殊功能暫存器。
10樓:匿名使用者
cy位是累加器的進位、借位標誌。下文的敘述按16位機來舉例說明,如果是8位機或其它字長,則可換一個例子,但道理相似。
對於無符號數的運算,cy位就可以表示其是否溢位。但如果是有符號數,則不能按cy標誌來判斷了。為此,設了另一個標誌ov,其含義就是「假如是有符號數運算,是否出現了溢位」。
例如對於16位運算器,65534 + 3,(即二進位制的1111111111111110 + 0000000000000011),
本該得65537,(即二進位制的10000000000000001),但因為暫存器只有16位,最高位的那個1丟掉了(進入了cy標誌)。結果暫存器中只剩下了1,(即二進位制的0000000000000001)。
此時,我們可以說,16位的無符號數加法,65534+3溢位了,溢位後的答案成了1。
但是對於有符號整數,情況就不同了。有符號整數採用補碼錶示法。16位有符號整數不可能表示65534,此時如果機內二進位制是1111111111111110,程式中認為它是-2,故:
機內的二進位制的1111111111111110 + 0000000000000011,代表的是(-2) + 3。
請注意,此時的(-2)+3和上文的無符號數65534+3,在cpu的運算器硬體上完全相同,都是得到和為1,而cy標誌也為1。
但是,有符號數(-2)+3=1並無溢位。故此時的cy標誌不能代表它溢位了。
另外再舉一例:
無符號數32763 + 8 = 32771,沒有進位,cy標誌為0。此時並不溢位。
但是,如果是有符號數32763 + 8,這就是溢位了,因為32773的二進位制為1000000000000011,作為有符號數會被看成負數-32765。16位有符號數不可能表示32773的。
不管是有符號數還是無符號數,cpu的二進位制運算器機器加、減操作是一樣的,但其「溢位」的條件不同。
現在大多數的計算機中,如果是無符號數,都可以用cy標誌來判斷其是否溢位;而如果是有符號數,則需要用ov標誌來判斷其是否溢位。
至於ov標誌在邏輯上又是根據什麼產生的呢?則不同的計算機上有不同的實現方法,但效果都是一樣。
這裡介紹一種道理比較容易懂的方法:「雙符號位法」。具體是:
作加、減法前,先將兩個運算數都按照有符號數的規則擴充成17位。即:符號位是0的前面添一位0,符號位是1的前面添一位1。
然後按17位的機器加、減,得出17位的結果。
如果17位結果的高兩位(即雙符號位)不同,就置ov標誌為1,否則,ov標誌為零。
然後取其低16位作為最後結果。
11樓:匿名使用者
cy(carry): 用於表示加法進算中的進位和減法運算中的借位,加法運算
中有進位或減法運算中有借位則cy位置1,否則為0
ov: 表示運算過程中是否發生了溢位,若運算結果超過了8位二進位制數所能表示資料的範圍即有符號數-128~+127,則標誌位置1。
12樓:做而論道
微控制器程式狀態字psw的ov位到底是怎麼判斷溢位的?
----
溢位,是cpu判斷的。
發生了溢位,cpu就令ov=1。
51微控制器 位累加器cy 和psw的cy 是一回事麼?它和累加器a一樣用麼?通俗點,詳細點講下!謝謝!
13樓:無線開發工程師
psw的cy是進位標誌,表示當前的運算是否產生了進位
14樓:匿名使用者
是同一個, 對位操作的累加器, 你可以去看一下布林處理機是怎麼工作的
微控制器中的psw計算
15樓:豐鎮北極星
psw被稱作程式狀態寄bai存器,du用於記錄指令的執行狀zhi態。
d7:daocy 進位
標誌,如果累加器a最高位專
有進位,cy置屬1否則為0;
d6:ac輔助進位標誌,又叫半位元組進位標誌,即a的d3位有進位時ac置1,否則為0;
d5:f0使用者標誌位,供使用者使用的軟體標誌;
d4d3:rs1 rs0這兩位用於工作暫存器區的選擇;
d2:保留位,也可以用作使用者標誌位f1;
d1:ov溢位標誌位;
d0:p奇偶標示位。
那麼對應填入相應的值就可以得到psw的結果了。10000010
微控制器的psw是什麼?
16樓:蘇嘉愛娛樂
程式狀態暫存器psw。
程式狀態暫存器是計算機系統的核心部件——運算器的一部分,psw用來存放兩類資訊:一類是體現當前指令執行結果的各種狀態資訊,如有無進位(cy位),有無溢位(ov位),結果正負(sf位),結果是否為零(zf位),奇偶標誌位(p位)等。
另一類是存放控制資訊,如允許中斷(if位),跟蹤標誌(tf位)等。有些機器中將psw稱為標誌暫存器fr(flag register)。
51微控制器的psw是一個8位暫存器,用來存放指令執行後的一些的狀態,通常由cpu來填寫,但是使用者也可以改變各狀態位的值。
擴充套件資料
微控制器技術的開發:
1、cpu開發。開發微控制器中的cpu匯流排寬度,能夠有效完善微控制器資訊處理功能緩慢的問題,提高資訊處理效率與速度,開發改進**處理器的實際結構,能夠做到同時執行2-3個cpu,從而大大提高微控制器的整體效能。
2、程式開發。嵌入式系統的合理應用得到了大力推廣,對程式進行開發時要求能夠自動執行各種指令,這樣可以快速準確地採集外部資料,提高微控制器的應用效率。
3、儲存器開發。微控制器的發展應著眼於記憶體,加強對基於傳統記憶體讀寫功能的新記憶體的探索,使其既能實現靜態讀寫又能實現動態讀寫,從而顯著提高儲存效能。
17樓:生活如歌
psw:程式狀態字暫存器,
psw各位定義:
psw.7 psw.6 psw.
5 psw.4 psw.3 psw.
2 psw.1 psw.0
cy ac f0 rs1 rs0 ov — p
程式狀態字暫存器psw是一個8位暫存器,用於存放程式執行中各種狀態資訊。其中,f0\rs1\rs0可以由使用者自己程式設計設定,其他位的狀態是根據程式執行結果,由硬體自動設定的。下面分別介紹。
cy:進位標誌,是psw中最常用的標誌位
功能有二:
一、存放算術運算的進位標誌,在進行加減運算時,若操作結果的最高位有進位或借位,則自動置1,否則為0。
二、在位操作中,作位累加器c使用。
ac:輔助進位標誌
在加減運算時,低4位向高4位進位或借位時,自動置1,否則為0。在bcd碼調整中也要用到ac位的狀態。
f0:使用者標誌位
使用者可以程式設計對這個標誌位置位或復位,使用最為靈活,常用作資料收發標誌或準備好的標誌。
rs1&rs0:暫存器組選擇位
選擇cpu當前使用的工作暫存器組,微控制器中共有四組工作暫存器,每次上電或復位後rs被置0,使用者可以程式設計選擇當前工作暫存器,達到保護某一區r0~r7中資料的目的。
ov:溢位標誌位
在帶符號的加減運算中,若運算超出了累加器a所能表示的符號數的有效範圍(-128~127),則自動置1,表示產生了溢位,說明運算結果是錯誤的。否則為0。
乘法運算中,ov=1表示乘積超過255,即乘積分別在a和b中;否則為0,表示乘積只在a中。
除法運算中,ov=1表示除數為0。
p:奇偶標誌位
表明累加器a中資料的奇偶性。若a中有奇數個「1」,則自動置1,否則為0。此標誌位常用於序列通訊中的奇偶校驗。
和的用法,在什麼情況下用什麼情況下用
何 什麼時候讀 什麼時候讀 1 讀 的場合 a 做主語時,主要放在 之前。如 何 何 b 做賓語時,主要放在 之前。如 何 2 讀 的場合 a 做謂語時。如 何 b 做定語時 主要放在 之前 如 何 c 合成詞中。如 何曜日 何時 何年 何月 何日 何人 等等 補充 下接 行假名時,音便為 文例 無...
什麼情況下用護套線,什麼情況下用護套線
護套線就是互相絕緣的幾根線預先就套在一塊的線,就是把幾條已經有漆皮的西線再包在一起而已,護套線一般是用在房頂 通常使用復 的照明線路用電制 線一般有塑料絕緣線和塑料護套絕緣線,護套線是三根芯線或兩根芯線,其中芯線的作用想必你是知道的,這裡不再表述。塑料護套線因為外面有一層塑料保護層,所以不用於穿管,...
在c語言中什麼情況下用 什麼情況下用
是賦值。是比較。你可以看看譚浩強寫的 c語言程式設計這本書 對於初學者很好的,很多大學都用這個教材。希望能夠幫到您!是賦值符號,相當於彙編中的mov,是邏輯判斷符號,表示相等,為不等,相當於彙編中的cjne。是賦值,是判斷,的結果只有2個,一個是0,一個是1.而 只是給它前面的那個變數臨時給一個數值...