微控制器特殊功能暫存器如PSW的CY位,在RAM中佔用節還是1bit

時間 2021-05-06 00:02:19

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的可輸出模擬電壓 你電腦能做什麼,它就能做什麼 微控制器主要用途是什麼?微控制器說簡單點就是在它工作時。各個管腳在不同時間內輸入和輸出不同的高低電壓...