数据传送类指令(PUSH,POP,LEA)

article/2025/11/6 9:22:40

目录

数据传送类指令

堆栈的概念:

进栈指令 (PUSH) 

 出栈指令(POP)

练习

LEA取偏移地址(有效地址EA)指令(去括号)

LEA和OFFSET区别:

用法注意

LEA和MOV指令的比较


数据传送类指令

堆栈的概念:

堆栈中数据的存遵循“先进后出”的原则。

堆栈的活动端被称为栈顶,固定端称为栈底。

80x86的堆栈的伸展方向是从高地址向低地址。

堆栈操作都是或者双字操作,进栈时SP自动减2,出栈时SP自动加2

进栈指令 (PUSH) 

 出栈指令(POP)

练习

1:已知SP=2110H,执行POP  AX后,SP寄存器的值为()

A:210EH  B:210FH    C:2111H    D:2112H

2:找出指令的错误  

 第一条指令类型不匹配,第二条指令不能同时为存储器操作数,第三条指令DX不能带中括号,能当地址使用只有BX,BP,SI,DI,第四条指令BXBP只能选一个,第五条指令不能给CS送值,第六条指令不能给DS送立即数 

3:设堆栈指令SP的初值为1000H,AX=2000H,BX=3000H,执行PUSH  AX后,

SP为(0FFEH),再执行指令PUSH  BX  及POP  AX后,SP为(0FFEH

4:还看昨天的那个题,交换数据也可以通过栈的指令完成

LEA取偏移地址(有效地址EA)指令(去括号)

LEA和OFFSET区别:

功能跟OFFSET一样,但是OFFSET只能作用在变量前面,LEA能用的地方OFFSET不一定都用,但是OFFSET能用的地方LEA都能用。

用法注意

LEA  BX,VAR1

LEA  BX,OFFSET VAR1;和上面的指令完成的功能一样

LEA和MOV指令的比较

LEA BX,[1000H] ;把1000H这个数送BX

MOV BX,[1000H];把以1000H为地址的内存单元的数送BX

MOV  BX,OFFSET [1000H] ;错误


http://chatgpt.dhexx.cn/article/cniJlw3v.shtml

相关文章

汇编:lea指令学习

加载有效地址(load effective address)指令就是lea,他的指令形式就是从内存读取数据到寄存器,但是实际上他没有引用内存,而是将有效地址写入到目的的操作数,就像是C语言地址操作符&一样的功能,可以获取…

汇编中的lea指令的作用,简单清晰明了不废话!

首先看一下intel开发手册上对lea的官方解释: lea,官方解释Load Effective Address,即装入有效地址的意思,它的操作数就是地址; 常见的几种用法: 1、lea eax,[addr] 就是将表达式addr的值放入…

设计模式

简介 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式可以提高代码的可复用性、可维护性、可读性、稳健性以及安全性。 项目中合理地运用设计模式可以完美地解决很多问题,但滥用设计模式不但不会带来任何好处&#x…

设计模式选择题复习

1.在UML提供的图中,( )用于描述系统与外部系统及用户之间的交互 A.用例图 B.类图 C.对象图 D.部署图 2.在UML提供的图中,( )用于按时间顺序描述对象之间的交…

单例设计模式

一.何为单例设计模式 如其名字,单例设计模式就是指的是一个类中只允许存在一个对象实例。 在java中,我们存在两种创建单例模式的思路:饿汉式和懒汉式 ①饿汉式:在创建类时直接创建对象实例 public class SingleHungryMan {//建立类…

设计模式在程序中的使用

OO设计的主要目的,在于分割责任,将每个模块的责任降低到合理的程度,并对各个模块进行封装以及降低两个模块之间的耦合度,达到修改一处不影响另外一处的目的。 这个原则其实并不仅仅局限于OO设计,只是OO设计提供了更好…

设计模式之命令模式

命令模式 命令模式的定义非命令模式实现:命令模式的实现: 命令模式的定义 说实话这个模式挺令人纠结的,但从这个模式的定义上来看,有点让人摸不到什么头脑,而且查看资料以后会发现还是有点稀里糊涂的,说懂…

《C++ 设计模式》

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 设计模式(Design Pattern)代表了最佳的实践,在面向对象的编程中被很多老鸟们反复使用。使用设计模式有很多好处: 可重用代码保…

设计模式课程设计

文章目录 题目要求: 具体作业如下:一、设计思路二、所用模式介绍1.简单工厂模式2.装饰模式3.观察者模式 具体实现过程程序分为三个部分: PS.代码写的比较敷衍,主要是应付作业用,请大家自行斟酌抄袭 又到了一年两度的课程设计时间&…

23种设计模式总结

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢…

设计模式之——桥接模式

设计模式: 前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定。而是一套用来提高代码可复用性、可维护性、可读性、稳健性、以及安全性的解决方案 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性…

面向对象程序设计

之前复习面向对象的时候整理的,丢出来一起分享一下。因为复习得很赶,只是大致的整理,且大部分图片来自老师的ppt,可能不是很准确。如果要详细了解其中的某个知识点请另外搜索。 但是老师不讲武德啊,明明提纲给了不按提…

MVC设计模式

MVC的全名是Model View Controller,是模型(Model)-视图(view)-控制器(controller)的缩写,是一种设计模式。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在…

设计模式考题复习

一.定义 设计模式六大基本原则: 单一职责原则:一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化;里氏替换原则:能出现子类的地方都应该可以允许父类出现,也就是子类可以扩展父类的…

一文带你通俗理解23种软件设计模式(推荐收藏,适合小白学习,附带C++例程完整源码)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、设计模式是什么? 设计模式是为了解决在软件开发过程中遇到的某些问题而形成的思想。同一场景有多种设计模式可以应…

设计模式之策略模式详解

设计模式之策略模式详解 概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多&#xff0c…

设计模式——桥接模式

定义 桥接模式(Bridge Pattern),也叫做桥梁模式,结构型设计模式的一种,这个模式相对来说有些难理解。桥接,顾名思义,就是用来连接两个部分,为被分离了的抽象部分和实现部分搭桥。 …

设计模式23模式介绍

🏆作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪 ,专注Java硬核干货分享,立志做到Java赛道全网Top N。 🏆本文收录于,Java基础教程系…

程序设计模式23+1种定义+UML图(有部分分析和联用)

程序设计模式这门课已经学完了,复习的时候做了一个这样的汇总,希望可以给后来学习这门课的同学一些帮助。 设计模式的分类 根据目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavio…

程序员必备的21种“设计模式之道”!

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式的目的就是为了重用代码、让代码更容易被他人理解、保证代码可靠性。欢迎小伙伴们收藏关注,持续分享更多优质干货! 设计模式之道 何为设计模式&#xff1f…