【微机原理】汇编指令之传送指令

news2024/11/15 20:43:22

目录

一、传送类指令

1.MOV 传送指令

2.XCHG 传送指令

二、LEA 有效地址传送指令

三.堆栈操作指令

(1)入栈指令:PUSH

(2)出栈指令:POP

四、输入输出指令

(1)IN 输入指令

(2)OUT输出指令


 

一、传送类指令

1.MOV 传送指令

格式:MOV 目的操作数,源操作数

功能:该指令用于将源操作数传送到目的操作数

目的操作数可以是寄存器(除CS、IP外)、存储器,不能是立即数。

源操作数可以是寄存器、存储器和立即数。

不允许向段寄存器送立即数(需要中转)

两个操作数不能同为存储器/段寄存器。 

注意:不能实现存储器与存储器之间的数据传送,如果需要把存储单元AREA2的内容传送到存储单元AREA2,要通过寄存器来中转

  例如:MOV BL,AREA1

            MOV AREA2,BL

注意:在使用传送类指令时要保证源操作数和目的操作数的长度要相等,否则错误。

2.XCHG 传送指令

格式:XCHG 目的操作数,源操作数

功能:该指令用于将源操作数和目的操作数交换数值

注意:段寄存器和IP和立即数不能作为交换指令的操作数。操作数为寄存器和存储器。不能同为存储器。不能为立即数。

二、LEA 有效地址传送指令

格式:LEA 目的操作数,源操作数

功能:把源操作数的偏移地址(EA)送到目的操作数。

注意:源操作数必须是一个存储器操作数(带【】),目的操作数必须是一个16位通用寄存器

MOV DI,OFFSET WVAR  ==  LEA DI,WVAR

OFFSET :取有效地址

三.堆栈操作指令

堆栈是一块特殊的存储器区域,这块区域以先进后出的方式工作,系统为此提供了特殊的指针SP和段寄存器SS

(1)堆栈是以字为单元操作

(2)不能用立即数作操作数,该指令不影响标志位

(3)CS不能用于POP,用于PUSH

(1)入栈指令:PUSH

格式:PUSH 操作数

第一步:先修改指针SP <- SP -2

第二步:再存入一个字。操作数的高位字节->SP + 1)单元中, 操作数的低位字节->(SP)

功能:该指令为数据入栈指令,即将操作数指定的一个字的内容传送至SP所指的栈顶。寻址方式有寄存器寻址(SS除外)和存储器寻址

(2)出栈指令:POP

格式:POP 操作数

第一步:先弹出一个字

第二步:修改指针SP <- SP + 2。首先堆栈(SP + 1)单元字节->操作数的高位字节,(SP)单元字节->操作数的低位字节,

功能:将SP所指的栈顶的内容传送至操作数指定的一个字。寻址方式有寄存器寻址(SS除外)和存储器寻址。

四、输入输出指令

(1)IN 输入指令

格式:IN AL/AX,PORT;

例如:IN AX,PORT;   (PORT+1 : PORT)—>AX

      IN AX,DX;    (DX+1 :DX)—>AX

注意:上面的IN指令,不是把PORT(或DX)的内容送ALAX,而是以PORT(或DX)的内容为端口地址,把该端口的内容(一个字或一个字节)读入指定的累加器ALAX,这条指令不影响标志位。

(2)OUT输出指令

 该指令可把AL中的一个字节的内容或AX中的一个字的内容输出至端口,寻址方式与IN指令相同,它不影响标志位。

例如:OUT 52H,AL;  将AL的内容送端口52H的单元中

      OUT 60H,AX;  将AX的内容送60H和61H端口地址的单元中

注意:在汇编语言程序中,端口地址小于256(即十六进制范围00H~FFH)时,可以直接在指令中写出端口地址如果端口地址大于或等于256时,应先将端口地址送DX寄存器中,然后再INOUT指令中用DX代表端口地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/488062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx部署本地启动vue项目

需求&#xff1a;就是想在本地不运行vue项目&#xff0c;可以直接访问到打包后的vue项目 1.安装nginx nginx: download&#xff0c;这里我安装的1.12.2稳定版本 2.下载完直接得到一个压缩包&#xff0c;直接把它解压到一个目录 &#xff01;&#xff01;&#xff01;&#x…

CSI指纹预处理(中值、均值、Hampel、维纳滤波、状态统计滤波器)

目录 前言 1、箱线法 2、中值滤波器 3、均值滤波器 4、Hampel滤波器 5、维纳滤波 6、状态统计滤波器 前言 因为设备、温度和实验室物品摆设等因素的影响&#xff0c;未经处理的CSI数据不能直接使用&#xff0c;需要对数据进行异常值处理以保证数据的稳定性&#xff0c;…

力扣刷题2023-05-04-1——题目:2614. 对角线上的质数

题目&#xff1a; 给你一个下标从 0 开始的二维整数数组 nums 。 返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数&#xff0c;返回 0 。 注意&#xff1a; 如果某个整数大于 1 &#xff0c;且不存在除 1 和自身之外的正整数因子&#xff0c;…

【前端】1、flex 布局

flex 布局目录 一、flex container 和 flex items二、用在 flex container 上的 CSS 属性(1) flex-direction(2) justify-content(3) align-items 三、用在 flex items 上的 CSS 属性 一、flex container 和 flex items &#x1f384; 1、开启了 Flex 布局的元素叫 flex cont…

系统分析师---系统规划高频错题

系统规划---成本效益分析 评价信息系统经济效益常用的方法主要有成本效益分析法&#xff0c;投入产出分析法和价值工程方法。盈亏平衡法常用于销售定价&#xff1b; 可行性分析 系统规划是信息系统生命周期的第一个阶段&#xff0c;其任务是对企业的环境、目标以及现有系统的…

CAN总线(HALL库使用)

目录 1.CAN总线介绍 2.STM32中CAN总线配置 3.HALL库实验 1.CAN总线介绍 1.闭环特点&#xff1a;速度快&#xff0c;距离短&#xff08;40m&#xff09; 2.开环特点&#xff1a;速度慢&#xff0c;距离长&#xff08;1000m&#xff09; 2.STM32中CAN总线配置 stm32的can总线分…

体验 gpt4free

体验 gpt4free 什么是 gpt4free安装 ffmpeg启动 gpt4free访问 gpt4free gui其他 什么是 gpt4free GPT4Free 是一个由 xtekky 创建的基于 OpenAI GPT-4 和 GPT-3.5 的 API。它可以向用户提供类似于 OpenAI GPT-3 的功能&#xff0c;如文本生成、问答、翻译等。 GPT4Free 与 Ope…

2023前端面试上岸手册——VUE部分

目录 Vue 的基本原理双向数据绑定的原理MVVM、MVC、MVP 的区别slot 是什么&#xff1f;有什么作用&#xff1f;原理是什么&#xff1f;\$nextTick 原理及作用Vue 单页应用与多页应用的区别Vue 中封装的数组方法有哪些&#xff0c;其如何实现页面更新Vue data 中某一个属性的值发…

详解:搭建常见问题(FAQ)的步骤?

许多的Web用户都更加偏向于可信赖的FAQ页面&#xff0c;以此作为快速查找更多信息的方法。因为用户时间的紧缺&#xff0c;并且想知道产品的功能和能够提供的服务。构造精巧的FAQ页面是提供人们寻求信息的绝妙方法&#xff0c;而且还可以提供更多的信息。这就是为什么FAQ页面对…

1. C++面向过程

一、C简介 1.1 C的产生及其特点 从C语言发展演变而来&#xff0c;解决了C语言中存在的一些问题&#xff0c;并增加了对面向对象程序设计方法的支持 与其他高级语言相比&#xff0c;C语言可以直接访问物理地址&#xff1b;与汇编相比它具有良好的可读性和可移植性 C于1980年由…

【软考中级】2022下半年软件设计师案例分析题级答案

试题一(共15分) 阅读下列说明和图&#xff0c;回答问题1至问题4&#xff0c;将解答填入答题纸的对应栏内。 【说明】 随着新能源车数量的迅猛增长&#xff0c;全国各地电动汽车配套充电桩急速增长&#xff0c;同时 也带来了充电桩计量准确性的问题。充电桩都需要配备相应的…

RabbitMQ-保证消息可靠性

RabbitMQ-保证消息可靠性 1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback 1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化 1.3.消费者消息确认1.3.1.演示none模式1.3.2.演示auto模式 1.4.消费失败重试机制1.…

API接口的应用

一、API接口的应用 API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09;接口在现代计算机科学中是一个非常重要的概念。API接口允许不同的应用程序、设备和服务进行交流、互操作和数据共享。下面我们将针对API接口的应用方向和场景进行…

计算机网络笔记:计算机网络体系结构(OSI七层模型、TCP/IP五层协议)

计算机网络体系结构 计算机网络是一个复杂的、具有综合性技术的系统&#xff0c;它由计算机系统、通信处理机、通信线路和通信设备、操作系统以及网络协议等组成。为了更好地描述计算机网络结构&#xff0c;使计算机网络系统有条不紊地处理工作&#xff0c;需要定义一种较好的…

Python中如何使用os模块和shutil模块处理文件和文件夹

os和shutil都是Python标准库中用于处理文件和文件夹的模块&#xff0c;它们都提供了许多常用的文件和文件夹操作功能&#xff0c;但是它们的使用场景和优势有所不同。 os模块提供了许多操作系统相关的功能&#xff0c;例如打开文件、读取文件、获取文件属性、创建目录、删除文件…

阿里云服务器ECS上安装Redis数据库流程by Alibaba Cloud Linux

阿里云服务器操作系统Alibaba Cloud Linux 2针对Redis应用进行了专项调优&#xff0c;相比社区版操作系统&#xff0c;Redis应用整体性能提升20%以上。Alibaba Cloud Linux 2内置Redis 6.0.5和Redis 3.2.12的yum源&#xff0c;执行sudo yum install命令即可部署Redis 6.0.5和Re…

【Redis—哨兵机制】

概念 当进行主从复制时&#xff0c;如果主节点挂掉了&#xff0c;那么没有主节点来服务客户端的写操作请求了&#xff0c;也没有主节点给从节点进行数据同步了。此时需要进行主从切换&#xff08;主从节点故障转移&#xff09;&#xff0c;Redis在 2.8 版本以后提供的哨兵&…

海外新闻稿:如何写好英语新闻稿的开头与结尾?

随着全球化的发展&#xff0c;英语已成为一种全球性的语言。在现代社会&#xff0c;英语新闻稿已经成为了各个行业重要的宣传方式。然而&#xff0c;如何写好英语新闻稿的开头与结尾却是一门很深的学问。在本文中&#xff0c;我们将探讨如何写出一个成功的英语新闻稿开头和结尾…

一个前端大佬的十年回顾 | 漫画前端的前世今生

作者&#xff1a;京东科技 胡骏 引言 岁月如梭&#xff0c;十载流年 前端技术&#xff0c;蓬勃向前 HTML&#xff0c;CSS&#xff0c;JavaScript 演绎出璀璨夺目的技术画卷 回到十年前&#xff0c;前端技术就像一名戴着厚重眼镜的书呆子&#xff0c;总是小心翼翼&#xff…

vue 使用 threejs 实现实景看房效果 demo

vue 使用 threejs 实现实景看房效果 demo 关于这个 threejs 实现 VR 看房效果也超级简单&#xff0c;只需要提供一个思路的话就可以了其实&#xff0c;首先需要一个房间结构的贴图&#xff0c;这个贴图网上有&#xff0c;当然找个合适的也不好找&#xff0c;我找了一上午在别人…