[ASM]汇编语言栈的理解

1|0[ASM]汇编语言栈的理解

1|1引言

众所周知,栈是一种数据类型在汇编语言中自然也包含
(PS:好像ASM只能使用栈访问内存空间,即使能直接访问也极其麻烦)
汇编语言的栈遵从"先进后出,后进先出"的规则
王爽先生在<汇编语言>一书中用一张图形象的表达了栈

1|0入栈:

image

1|0出栈:

image
一个开口的盒子就是一个栈空间,盒子装不下了就是栈溢出,盒子里什么也没有就是空栈

1|2指令

1|0push指令

1|0语法:

push 寄存器

1|0实践指令:

点击查看代码
mov AX,1000H mov SS,AX mov SP,0010H;设置栈空间`` mov AX,1111H ;把1111复制到AX push AX ;将AX压入栈

1|0pop指令

1|0语法:

pop 寄存器

1|0实践指令:

点击查看代码
mov AX,1000H mov SS,AX mov SP,0010H;设置栈空间`` mov AX,1111H ;把1111复制到AX push AX ;将AX压入栈 pop BX ;将栈中的值取出存入BX

1|3习题

既然理解了栈,所以不如在习题中实践它吧!

1|0习题一

image
image

点击查看代码
mov AX,1000H mov SS,AX mov SP,0010H mov AX,001AH mov BX,001BH push AX push BX mov AX,0000H mov BX,0000H pop BX ;先入后出,后入先出!!! pop AX

1|0习题二

image

点击查看代码
mov AX,1000H mov SS,AX mov SP,0010H mov AX,001AH mov BX,001BH push AX push BX mov AX,0000H mov BX,0000H pop AX pop BX

__EOF__

本文作者Krlee
本文链接https://www.cnblogs.com/HANDMICRO/p/16858215.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   HANDMICRO  阅读(140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
1
点击右上角即可分享
微信分享提示