回覆列表
  • 1 # 梔子花的半島花開

    堆疊是連續的記憶體單元,存取方式遵循“先進後出”的原則。其作用一般是儲存暫存器或標誌暫存器的內容。堆疊就是這樣一種資料結構。它是在記憶體中開闢一個儲存區域,資料一個一個順序地存入(也就是“壓入——push”)這個區域之中。有一個地址指標總指向最後一個壓入堆疊的資料所在的資料單元,存放這個地址指標的暫存器就叫做堆疊指示器。開始放入資料的單元叫做“棧底”。資料一個一個地存入,這個過程叫做“壓棧”。在壓棧的過程中,每有一個數據壓入堆疊,就放在和前一個單元相連的後面一個單元中,堆疊指示器中的地址自動加1。讀取這些資料時,按照堆疊指示器中的地址讀取資料,堆疊指示器中的地址數自動減1。這個過程叫做“彈出pop”。如此就實現了後進先出的原則。SP是一個8位專用暫存器,它批示出堆疊頂部在內部RAM塊中的位置。系統復位後,SP初始化為07H,實際上堆疊是由08H單元開始的。考慮08H~1FH單元分別屬於工作暫存器區1~3,若在程式設計中用到這些區,則最好把SP值改值為1FH或更大的值。 SP是一個8位專用暫存器,它批示出堆疊頂部在內部RAM塊中的位置。系統復位後,SP初始化為07H,實際上堆疊是由08H單元開始的。考慮08H~1FH單元分別屬於工作暫存器區1~3,若在程式設計中用到這些區,則最好把SP值改值為1FH或更大的值。 MCS-51的堆疊是向上生成的,若SP=60H,CPU執行一和呼叫指令或者響應中斷後,PC進棧,PCL保護到61H,PCH保護到62H,SP=62H。

  • 2 # 使用者5010666567480

      

    1、程式儲存器指令地址使用程式計數器PC指標,PC中存放的是下一條將要從程式儲存器中取出的指令的地址。程式計數器PC變化的軌跡決定程式的流程。PC最基本的工作方式是自動加1。在執行條件轉移或無條件轉移指令時,將轉移的目的地址送入程式計數器,程式流向發生變化。在執行呼叫指令或響應中斷時,將子程式的入口地址或者中斷向量地址送人PC,程式流向發生變化。

      

    2、堆疊地址使用堆疊指標.SP。SP在80C51中存放當前的堆疊棧頂所指儲存單元地址,是一個8位暫存器,對資料按照“先進後出”原則進行管理。外接資料儲存器地址使用資料指標DPTR。DPTR是一個16位特殊功能暫存器,主要功能是作為片外資料儲存器或I/0定址用的地址暫存器,這時會產生RD或wR控制訊號,用於微控制器對外擴的資料儲存器或I/0的控制。

    3、資料指標DPTR也可以作為訪問程式儲存器時的基址暫存器,此時是定址程式儲存器中的表格、常數等單元,而不是定址指令。

  • 中秋節和大豐收的關聯?
  • NASA最新資助的搜尋地外文明研究專案是什麼?