首页 > 编程语言 >[ASM]汇编语言栈的理解

[ASM]汇编语言栈的理解

时间:2022-11-04 16:23:15浏览次数:30  
标签:汇编语言 mov pop 理解 push AX BX ASM

[ASM]汇编语言栈的理解

引言

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

入栈:

image

出栈:

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

指令

push指令

语法:

push 寄存器

实践指令:

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

pop指令

语法:

pop 寄存器

实践指令:

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

习题

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

习题一

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

习题二

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

标签:汇编语言,mov,pop,理解,push,AX,BX,ASM
From: https://www.cnblogs.com/HANDMICRO/p/16858215.html

相关文章

  • 深入理解 Spring 事务原理
    Spring事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤......
  • 深入理解JVM - 垃圾收集器
    垃圾回收主要是要解决3件事情:那些内存需要回收?如何回收?什么时候回收?术语解释并行/并发并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。并发(Concur......
  • Vue双向绑定理解与模拟
    title:Vue双向绑定理解与模拟1.Vue的双向绑定理解先从单向绑定进行理解,单向绑定就是将Model(data)绑定到视图层View,当我们使用JS更新Model数据层时,视图层就是进行自动......
  • 深入理解LINUX内核 第三版 电子书 pdf
    作者:(美)博韦,西斯特出版社:中国电力出版社原作名:UnderstandingtheLinuxKernel译者:陈莉君;张琼声;张宏伟 链接:深入理解LINUX内核第三版  为了彻底理解......
  • cookie、session和token理解
    1.cookieCookie是浏览器在电脑本地保存数据的一种机制,浏览器通过cookie这种机制可以在浏览器上保存用户在浏览器上浏览过的商品,或者在浏览器通过cookie记录一个布尔类型......
  • 数据结构 玩转数据结构 6-4 深入理解递归终止条件
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13456 1重点关注1.1代码草图   1.2二分搜索树添加元素代码简化......
  • JTA(XA)原理解析
    Transaction(事务)分两种LocalTransaction和GlobalTransaction涉及到一个Connection的Commit,称为LocalTransaction涉及到多个Connection的Commit,称为GlobalTransac......
  • 并发编程之深入理解CAS
    并发编程之深入理解CAS什么是CASCAS,compareandswap的缩写,中文翻译成比较并交换。CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预......
  • clip-path属性深入理解与使用
      clip-pathCSS属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。clip-path的属性值可以是以下几种:1.inset; 将元素剪裁为......
  • 原理解密 → Spring AOP 实现动态数据源(读写分离),底层原理是什么
    开心一刻女孩睡醒玩手机,收到男孩发来一条信息:我要去跟我喜欢的人表白了!女孩的心猛的一痛,回了条信息:去吧,祝你好运!男孩回了句:但是我没有勇气说不来,怕被打!女孩......