1樓:匿名使用者
r0的內容 還在,只是如果 後面有執行r0的指令,它的內容就變了。
因為r0要做為它用,為了保護裡面的內容,暫時入棧,待r0它用完了,再出棧,原來的內容又回到r0。
不能用push r0、push r1 ,要用push 0、push 1 和pop 0、pop 1
比如這樣:
mov sp,#60h
mov r0,#5h
mov r1,#6h
push 0 ;入棧後,r0內仍為#5hpush 1 ;同樣,r1內仍為#6hmov r0,#3h ;這條指令後,r0內變為#3hmov r1,#4h ;r1內變為#4hmov 20h,r0
mov 21h,r1
pop 1 ;r1又回到#6h
pop 0 ;r0為#5h.這裡要注意先入後出 。
ajmp $end
2樓:匿名使用者
那就多了,現在的作業系統幾乎都是必須有棧的,單說內容估計有點亂了,包括區域性變數,函式返回地址,引數等等
3樓:匿名使用者
棧是後進先出,佇列是先進先出。
棧和佇列都是資料結構的一種,你可以找任何一本講資料結構的書看看就知道了。
你的串號我已經記下,採納後我會幫你製作
j**a中的,堆,棧,還有方法區都是用來放什麼的??
4樓:匿名使用者
棧裡存放的是值型別(int、float等)的值和引用型別(string、你自己建立的類物件等)在堆中的地址;堆中存放引用類u型的值,如果堆中某個值的地址在棧中沒有被指向,他就會被gc**。
方法區儲存所有的類和靜態變數。
5樓:
堆區:1.儲存的全部是物件,每個物件都包含一個與之對應的class的資訊。(class的目的是得到操作指令)
2.jvm只有一個堆區(heap)被所有執行緒共享,堆中不存放基本型別和物件引用,只存放物件本身
棧區:1.每個執行緒包含一個棧區,棧中只儲存基礎資料型別的物件和自定義物件的引用(不是物件),物件都存放在堆區中
2.每個棧中的資料(原始型別和物件引用)都是私有的,其他棧不能訪問。
3.棧分為3個部分:基本型別變數區、執行環境上下文、操作指令區(存放操作指令)。
方法區:
1.又叫靜態區,跟堆一樣,被所有的執行緒共享。方法區包含所有的class和static變數。
2.方法區中包含的都是在整個程式中永遠唯一的元素,如class,static變數。
記憶體中的棧和堆有什麼作用?
6樓:未成年
通常記憶體分為兩部分:一部分是棧(stack,也稱堆疊),另一部分是堆(heap)。 棧,可以看作是一摞卡片,最上面的卡片表示程式的當前作用域,這往往就是當前正在執行的函式。
當前函式中宣告的所有變數都置於棧頂幀中,即佔用棧頂幀的記憶體,這就相當於一摞卡片中最上面的一張卡片。如果當前函式呼叫了另一個函式,舉例來說,當前函式foo()呼叫了另一個函式bar(),就會在這摞卡片上再加一個新的卡片,這樣bar()就有了自己的棧幀(stack frame)以供使用。從foo()傳遞到bar()的所有 引數都會從foo()棧幀複製到bar()棧幀中。
(注:棧幀很有意義,因為棧幀可以為每個函式提供一個獨立的記憶體工作區。如果一個變數是在foo()棧幀中宣告的,那麼呼叫bar()函式不會對它帶來改變,除非你專門要求修改這個變數。
另外,foo()函式執行結束時,棧幀即消失,該函式中宣告的所有變數都不會再佔用記憶體了。) 堆,一段完全獨立於當前函式或者棧幀的記憶體區。如果一個函式中宣告瞭一些變數,而且希望當這個函式完成時其中宣告的變數仍然存在,就可以將這些變數置於堆中。
堆和棧相比,沒那麼清晰的結構性。可以把堆可作是一「堆」小玩藝。程式可以在任何時間向這個「堆」增加新的東西,或者修改堆中已有的東西。
j**a 中 的 堆 和 棧 有 什 麼 區 別 ? 要 詳 細 點 的 !
7樓:匿名使用者
棧由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。堆一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由作業系統**。
c++關於棧的函式(例如說判斷棧是否為空,刪除等)還有標頭檔案有哪些,分別有什麼用?求大神
8樓:
標頭檔案是 stack
例如宣告一個存int型資料的棧,可以是:
#include
...stack s;
判斷棧s是否為空,寫為: s.empty( );
刪除元素,寫為:s.pop( );
計算機裡棧是什麼意思啊
蟲心菜 分析如下 棧是一種資料結構。1 棧作為一種資料結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料 最後一個資料被第一個讀出來 棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指...
N個元素順序進棧,那麼所有可能出棧序列有哪些
分析 對於每一個數來說,必須進棧一次 出棧一次。我們把進棧設為狀態 1 出棧設為狀態 0 n個數的所有狀態對應n個1和n個0組成的2n位二進位制數。由於等待入棧的運算元按照1 n的順序排列 入棧的運算元b大於等於出棧的.n個元素進棧,共有多少種出棧順序 冷凝水 系統 蒸汽系統排出的高溫冷凝水,可最大...
uxd全棧設計是什麼啊?uxd全棧設計是什麼
是使用者體驗設計師的簡稱,課程有 ui設計 互動設計 使用者體驗測試和設計管理,通過15年經驗累積,將ui課程升級為uxd,從簡單到複雜,逐漸增加難度,讓想學習的學員簡單學習,輕鬆入門。uxd全棧設計是什麼 1全部全棧設計包括ui視覺,介面,互動,跨界等不同的設計,還有一些創意設計的內容,國內現在有...