汇编语言中栈及栈操作的实现
生活随笔
收集整理的這篇文章主要介紹了
汇编语言中栈及栈操作的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-
棧:數據始終采用先進后出的特點。
-
8086CPU提供入棧和出棧指令,基本操作:PUSH(入棧)和POP(出棧)操作。
-
在8086CPU中,有兩個寄存器,段寄存器SS和寄存器SP;
- SS: 存放棧頂的段地址。
- SP:存放棧頂的偏移地址。
-
PUSH指令(入棧): SP = SP - 2 // SS此時指向新棧頂
-
POP指令(出棧): SP = SP + 2
-
例:
mov ax,1000H
mov ss,ax
mov sp,0010H
- 物理邏輯:
根據SP的變化,決定數據棧的更改。
將1000H—100FH這段內存當作棧來使用,此時棧為空。
- 對棧超界問題: 存在兩種超出情況:
- 底超出
- 頂超出
- 注:該超界問題無法被機制控制,只能有操作者自身控制。
總結
以上是生活随笔為你收集整理的汇编语言中栈及栈操作的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存中字的存储
- 下一篇: 使用汇编语言编写第一个程序