3.10 棧段
* 我們可以根據(jù)需要,將一組內(nèi)存單元定義為一個段
* 我們可以將長度為n(n<=64k)的一組地址連續(xù)。起始地址為16的倍數(shù)的內(nèi)存單元,當做棧來使用,從而定義了一個棧段
* 將內(nèi)存當做棧棧,僅僅是我們再編程時的一種安排。CPU并不會由于這種安排,就在執(zhí)行push、pop等棧操作指令時就自動的將我們定義的棧段當做??臻g來訪問
*
如果我們將10000~1FFFF這段空間當做棧段。初始狀態(tài)是空的,此時ss=1000,sp=?
* 棧最底部的內(nèi)存單元為1000:FFFE
* 任意時刻,ss:sp執(zhí)行棧頂,當棧中只有一個元素的時候,ss=1000, sp=FFFEH
* 棧為空的,就相當于與棧中唯一的元素出棧, 出棧后,sp=sp+2
FFFE + 2 = 10000 因為進位存不下的問題,又用到了前面相加的知識,所以當這段棧為空的時候:SS=1000H,SP
熱門工具 換一換