功能
功能: 實現壓入操作的指令是PUSH指令;實現彈出操作的指令是POP指令.
說明
說明: 1. OPRD為16位(字)運算元,可以是暫存器或存儲器運算元.
2. PUSH的操作過程是: (SP)<--(SP)-2,((sp))<--OPRD 即先修改堆疊指針SP(壓入時為自動減2),然後,將指定 的運算元送入新的棧頂位置.
此處的((SP))<--OPRD,也可以理解為:
[(SS)*16+(SP)]<--OPRD 或 [SS:SP]<--OPRD
3. 示例: PUSH DX
PUSH BP
PUSH CS
PUSH DATA1
PUSH ALFA[BX][SI]
注意: 每進行一次壓入操作,都壓入一個字(16位).
4. PUSH和POP指令對狀態標誌位沒有影響。
5. 什麼是棧
棧被定義為一種先進後出的數據結構,即最後進棧的元素將被最先彈出來.這很像許多人進入一條窄得只能 容納一個人通過的小道,如果要從這條道往回退出來的話,那么最先退出來的人是最後一個進入小道的人.所以棧具有後進先出的性質(LIFO)。