1樓:做而論道
微控制器 特殊功能暫存器 psw,是八位的。
即一個位元組。
cy,是其中的一個位。
特殊功能暫存器,雖然是ram,但是,
它並不屬於片內ram。
2樓:匿名使用者
佔一位,c51微控制器的psp暫存器
微控制器組合語言中 cy ac ov 分別是什麼意思?
3樓:仰望角45度
你說的 cy ac ov 是psw(程式狀態字暫存器)中的標誌位。
cy:進位標誌位;
當cy=1時,表示操作結果最高位(位7)有進位或借位。
cy=0時,表示操作結果最高位(位7)沒有進位或借位。
ac:半進位標誌位;
該位表示當進行加法或減法運算時,低半位元組向高半位元組是否有進位或借位;
當ac=1時,表示低半位元組向高半位元組有進位或借位;
ac=0時,表示低半位元組向高半位元組沒有進位或借位;
ov:溢位標誌位,
該位表示在進行有符號數的加減法時是否發生溢位;
當0v=1時,表示有符號數運算結果發生了溢位,ov=0時,表示有符號數運算結果沒有溢位。
可以參考!
希望以上的回答對你有幫助!謝謝!
4樓:歷懷雨行茶
cy是進位借位標誌,主要用於加減計算和一些跳轉指令比如:
addc
a,r0
jclab
ac是半進位標誌,主要用於bcd碼十進位制調整即daaov是溢位標誌。在執行算術指令時,指示運算是否產生溢位。
5樓:匿名使用者
微控制器組合語言中
cy(psw.7)是進位或借位,**於最近一次算術指令或邏輯指令執行結果。
ac(psw.6)是輔助進位或輔助借位,用於bcd碼的十進位制調整運算。
ov(psw.2)是溢位位。在執行算術指令時,指示運算是否產生溢位。
6樓:匿名使用者
微控制器中有一個特殊功能暫存器sfr,其中有一個是存放指令執行後的有關狀態,即psw。cy是它的最高位,ac是它的次高位,ov是他的psw2位。
cy(carry):在運算過程中,累加器(另外一個暫存器)的最高位是否有進位或者借位。
ac(auxiliary carry):在運算過程中,累加器的低四位是否向高4位有進位或者借位。
ov(over flow): 在運算過程中,累加器是否超過了8位所能表示的範圍。
7樓:匿名使用者
psw中的進位標誌位cy
8樓:願有好心情
cy 應該是進位
ov應該是溢位
ac 不知道,交流電?
微控制器程式狀態字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。
學微控制器學得很模糊,什麼情況下用得到psw暫存器中的cy位?誰能舉一下例項
13樓:匿名使用者
add subb div mul 等都可以影響到psw的cy位,至於什麼時候得到,隨時都可以,你任何時候想知道cy都可以隨時訪問。訪問指令如:
jcjnc
14樓:珠山龍少
程式狀態字暫存器psw是一個8位暫存器,用於存放程式執行中各種狀態資訊。其中,f0\rs1\rs0可以由使用者自己程式設計設定,其他位的狀態是根據程式執行結果,由硬體自動設定的。
cy:進位標誌,是psw中最常用的標誌位
功能有二:
一、存放算術運算的進位標誌,在進行加減運算時,若操作結果的最高位有進位或借位,則自動置1,否則為0。
二、在位操作中,作位累加器c使用。
因此可以根據cy進行數值大小的判斷、或者跳轉。
簡述mcs51微控制器中程式狀態暫存器psw各位的含義。
15樓:匿名使用者
51微控制器中psw是程式
狀態字 ,用來存放指令執行後的有關狀態。
(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」的個數為偶數
16樓:
psw即程式狀態暫存器,program status word。
psw各位的定義如下:
cy(psw.7):即psw的d7位,進位、借位標誌。進位、借位cy=1;否則cy=0.
ac(psw.6):即psw的d6位,輔助進位、借位標誌。當d3向d4有借位或進位時,ac=1;否則ac=0.
f0(psw.5及psw.1):即psw的d5位,使用者標誌位;
rs1及rs0(psw.4及psw.3):即psw的d4、d3位,暫存器組選擇控制位;
ov(psw.2):溢位標誌。有溢位ov=1,否則ov=0;
f1(psw·1):保留位,無定義;
p(psw·0):奇偶校驗標誌位,由硬體置位或清0;存在acc中的運算結果有奇數個1時p=1,否則p=0。
微控制器psw位中的cy進位標識位與ov溢位標誌位有什麼區別嗎?謝謝
17樓:匿名使用者
cy表示最高位是否向前進位或借位,而ov表示是否超過該數所能表示的範圍(-128~127或00h~0ffh)
i2c匯流排寫一個位元組時最高位是如何移入psw的cy中的?
18樓:匿名使用者
對位元組做帶進位的左移,最高位就會移進cy中
51微控制器 位累加器cy 和psw的cy 是一回事麼?它和累加器a一樣用麼?通俗點,詳細點講下!謝謝!
19樓:無線開發工程師
psw的cy是進位標誌,表示當前的運算是否產生了進位
20樓:匿名使用者
是同一個, 對位操作的累加器, 你可以去看一下布林處理機是怎麼工作的
微控制器都要有A D電路微控制器中的功能是什麼?在什麼清情況下需要A D電路,為什麼
1.不一定,如果不需要ad的就不用加,當然現在很多微控制器都是帶ad的 2.控制ad執行,運算處理ad轉換結果。3.如果涉及到對模擬訊號的處理,就需要ad,因為微控制器無法直接處理模擬訊號,需要ad進行轉換。 生活如歌 不是所有的系統都需要a d電路。a d電路就是把模擬量轉換為數字量的電路,簡稱模...
簡述微控制器的基本結構與功能,51微控制器內部包含哪些主要功能部件 各功能部件的主要作用是什麼
是嘛 微控制器的基本結構 運算器 控制器 主要暫存器。運算器功能 執行各種算術運算 執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。主要暫存器功能 用於儲存當前cpu所要訪問的記憶體單元或i o裝置的地址。控制器功能 從記憶體中取出一條指令,並指出下一條指令在記憶體中的位置 對指令進行譯...
微控制器的功能,微控制器主要用途是什麼?
可以做加減乘除,可以中斷,放下當前的事,先做別的輸入 輸出就不用說 輸入 輸出可以是高,可以是低,但有部分是硬體固定了的帶ad的可能輸入模擬電壓,帶da的可輸出模擬電壓 你電腦能做什麼,它就能做什麼 微控制器主要用途是什麼?微控制器說簡單點就是在它工作時。各個管腳在不同時間內輸入和輸出不同的高低電壓...