組合語言中CY能自動清零嗎,組合語言中,出棧後出棧的那個數值在棧中會被清零嗎

2021-03-03 20:33:00 字數 1577 閱讀 9759

1樓:無畏無知者

cy自動清零,什麼意思?

通過相關指令的執行,cy會被清零;

組合語言中,出棧後 出棧的那個數值在棧中會被清零嗎?

2樓:匿名使用者

不會被清零。

組合語言中,出棧是通過pop指令來實現的,首先看一下intel手冊中對於pop指令的描述:

大致意思如下:pop指令從棧頂載入值到目標運算元指定的位置,然後增加棧頂指標。目標運算元可以是一個通用暫存器,記憶體位置或者段暫存器。

可以看到,手冊中並沒有提到出棧後pop要清空原有位置的值。因為這是不必要的,正常使用棧的話,出棧後那個位置的數值對棧沒有影響,在棧增長後,那個位置可能會被新的值覆蓋掉(即通過push壓棧),所以沒有必要清空它。而且,處理器和指令集設計的時候,必然會十分注重效率,不會做多餘的事情,清不清零對棧的使用完全沒有影響,所以設計師當然也不會讓pop做這件事。

3樓:匿名使用者

組合語言中,出棧後 出棧的那個數值在棧中 不會 被清零,

但是 如果有 新的 壓棧操作(入棧),會被新的資料替代。

4樓:匿名使用者

不會被清零,但是這個資料正常情況下不會被訪問到,除非特意去訪問這個資料

5樓:匿名使用者

出棧後 出棧的那個數值在棧中不會被清零 只是sp-1指向上一個棧地址了

6樓:匿名使用者

不會清零。

pop dst 指令執行過程:

(dst)<-((sp)+1, (sp))(sp)<-(sp)+2

可見,棧中資料並無變化,只是sp指標+2。

7樓:匿名使用者

不會清零。不信的話到原地址去看看原數變了沒。

8樓:魔塔過客

出棧操作其實變的只是指標sp.....原數值仍舊保留

9樓:

不會,是原封不動的,所以說自動變數總是一個隨機值,你每次宣告一個自動變數,棧指標就會增加,新變數的值實際上是上一次使用該記憶體的變數值。。。

微控制器組合語言中,cy、ac、ov分別是什麼意思?

10樓:匿名使用者

微控制器中有一個特殊功能暫存器sfr,其中有一個是存放指令執行後的有關狀態,即psw。cy是它的最高位,ac是它的次高位,ov是他的psw2位。

cy(carry):在運算過程中,累加器(另外一個暫存器)的最高位是否有進位或者借位。

ac(auxiliary carry):在運算過程中,累加器的低四位是否向高4位有進位或者借位。

ov(over flow): 在運算過程中,累加器是否超過了8位所能表示的範圍。

11樓:雀舉連元綠

微控制器組合語言中

cy(psw.7)是進位或借位,**於最近一次算術指令或邏輯指令執行結果。

ac(psw.6)是輔助進位或輔助借位,用於bcd碼的十進位制調整運算。

ov(psw.2)是溢位位。在執行算術指令時,指示運算是否產生溢位。

組合語言中csdsss的區別,組合語言中 cs ds ss的區別是什麼?

cs ds ss 分別是 段暫存器 資料段暫存器 棧段暫存器。簡單的8086彙編程式可以直接使用系統棧 或者預設的棧 所以 可以不用 ss 暫存器。即簡單的程式通常包括一個 段和一個資料段。資料通常放在資料段中,一般只需在程式的開始對資料段暫存器ds賦值 mov ax,seg data mov ds...

關於組合語言,關於組合語言中的LOOP指令

簡單的說就是 如果時間充裕 先學彙編,因為彙編會極大的幫助你認識晶片的內部,具體在執行的時候它是怎麼工作的。如果時間不充裕 先學c,因為c編寫語言只需要極少的對晶片的瞭解即可。比較 組合語言 程式 效率最高。通俗的說,寫出來的東西佔空間小。缺點 開發週期較長 c語言 程式 效率比較高。通俗的說,佔的...

組合語言中ah和AH代表什麼,請問組合語言中001AH加0026H是多少怎麼算的A和H分別代表什麼呀還有CH什麼意思

ah和ah是一個意思,只是大小寫區分 意思是ax 16位 暫存器的高八位,低八位是al暫存器 al邏輯運算 這部分指令用於執行算術和邏輯運算,包括加法指令add adc 減法指令sub sbb 加一指令inc 減一指令dec 比較操作指令cmp 乘法指令mul imul 除法指令div idiv 符...