1.8086CPU提供入棧和出棧指令,最基本的兩個是PUSH(入棧)和POP(出棧)。好比,push ax表示將寄存器ax中的數據送入棧中,pop ax表示從棧頂取出數據送入ax。8086CPU的入棧和出棧操做都是以字爲單位進行的。spa
2.CPU如何知道這段空間被看成棧來使用?如何知道那個單元是棧頂單元?cpu
8086CPU中,有兩個寄存器,段寄存器SS和寄存器SP,棧頂的段地址存放在SS中,偏移地址存放在SP中。任意時刻,SS:SP指向棧頂元素。push指令和pop指令執行時,CPU從SS和SP中獲得棧頂的地址。數據
在執行push、pop指令須要兩步操做:執行push時,CPU的兩步操做是:先改變SP,後向SS:SP處傳送;執行pop時,CPU的兩步操做是:先讀取SS:SP處的數據,後改變SP。co
3.要當心棧頂超界的問題push