王爽組合語言 棧

2021-10-10 03:43:29 字數 728 閱讀 2321

push入棧 將16位暫存器或者記憶體中的字型資料放在棧頂標記上面

pop出棧 將棧頂標記所標識的字型資料存放在16位暫存器或者記憶體中

(修改棧頂標記)

只能操作字型資料

在8086cpu中,在任意時刻將段位址暫存器ss和偏移位址暫存器sp所組合出來的記憶體位址當做棧頂標記

push ax sp=sp-2 入棧

pop bx sp=sp+2 出棧

棧的設定(大小設定為16的倍數)

eg 設定2000:0000-2000:0010為棧

設ss為2000,sp為10h。

原始棧和輸入指令

第一次push ax以後

第二次push ax以及pop bx的結果

棧頂的越界是非常危險的,可能導致一連串的錯誤。

作用:1.臨時性儲存資料 call

2.進行資料交換

組合語言 王爽

cpu有三條匯流排 位址 資料 控制線 位址匯流排確定儲存單元 控制匯流排傳送指令 資料匯流排 傳輸資料 cpu n個位址線 位址匯流排寬度為n 可以尋找2 n個記憶體單元 儲存單元 0開始編號,乙個儲存單元可以儲存乙個byte 8086cpu有16根位址線 1bit就是一根位址線 注意 儲存器以b...

組合語言 王爽 筆記

關於pop的知識 1.出棧後,ss sp指向新的棧頂,pop操作前的棧頂元素中的資料仍然存在,但是,它已不再棧中 2.ss和sp只記錄了棧頂的位址,依靠ss和sp可以保證在入棧和出棧時找到棧頂 3.當棧滿的時候再次使用push指令入棧,棧空的時候再次使用pop指令出棧,都將發生棧頂越界問題,它是非常...

組合語言 王爽 筆記

1.乙個組合語言程式從寫出到最終執行的簡要過程 編寫,編譯連線,執行 2.可執行檔案中包含兩部分內容 一是程式 從源程式中的彙編指令翻譯過來的機器碼 和資料 源程式中定義的資料 二是相關的描述資訊 eg 程式的大小,要佔的記憶體空間等 3.彙編指令是指有對應的機器碼的指令,可以被編譯為機器指令,最終...