【汇编语言】寄存器(内存访问)(三)—— 字的传送

在这里插入图片描述

文章目录

  • 前言
  • 1. 字的传送
  • 2. 问题一
  • 3. 问题一的分析与解答
  • 4. 问题二
  • 5. 问题二的分析与解答
  • 结语

前言

📌

汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深入理解计算机底层工作原理,提升代码效率,尤其在嵌入式系统和性能优化方面有重要作用。此外,它在逆向工程和安全领域不可或缺,帮助分析软件运行机制并增强漏洞修复能力。

本专栏的汇编语言学习章节主要是依据王爽老师的《汇编语言》来写的,和书中一样为了使学习的过程容易展开,我们采用以8086CPU为中央处理器的PC机来进行学习。

1. 字的传送

前面我们用mov指令在寄存器和内存之间进行字节型数据的传送。

因为8086CPU是16位结构,有16根数据线,所以,可以一次性传送16位的数据,也就是说可以一次性传送一个字。只要在mov指令中给出16位的寄存器就可以进行16位数据的传送了。

比如:

在这里插入图片描述

2. 问题一

内存中的情况如下图所示,并写出下面的指令执行后寄存器 ax,bx,cx 中的值。

在这里插入图片描述

思考后请看分析。

3. 问题一的分析与解答

进行单步跟踪,看一下每条指令执行后相关寄存器中的值,见下表。

在这里插入图片描述

4. 问题二

内存中的情况如下图所示,写出下面的指令执行后内存中的值。

在这里插入图片描述

思考后看分析。

5. 问题二的分析与解答

进行单步跟踪,看一下每条指令执行后相关寄存器或内存单元中的值,见下表。

在这里插入图片描述

结语

今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下。

也可以点点关注,避免以后找不到我哦!

Crossoads主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的动力!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linuxtop命令查看CPU、内存使用率、解释

1. top 命令 top 是最常用的实时监控工具之一,可以显示 CPU 的总利用率以及各个进程的 CPU 使用情况。在Linux命令行直接输入top即可查看动态原始数据 top 在 top 命令的输出中,最上面的一行会显示 CPU 的使用情况: us(User&a…

day01-Qt5入门

day01-Qt5入门 1.下载Qtcreate 官网地址:http://qt-project.org/downloads 2.配置环境变量 将类似于 D:\Qt\Qt5.1.1\5.1.1\mingw48_32\bin 的目录添加到环境变量中 3.创建一个新项目 输入自己的项目名称,后面默认下一部 4.运行第一个项目 在窗口…

CentOS 7 yum失效的解决办法

文章目录 一、CentOS 7停止维护导致yum失效的解决办法解决方案 提示:以下是本篇文章正文内容,下面案例可供参考 一、CentOS 7停止维护导致yum失效的解决办法 020 年,CentOS 项目与红帽联合宣布将全部投资转向 CentOS Stream,这是…

Windows环境apache控制台命令行启动、停止、重启httpd服务

Windows环境apache控制台命令行启动、停止、重启httpd服务 启动:httpd -k start 重启:httpd -k restart 停止:httpd -k stop 需指定服务的名称:后面各自加上 -n 服务名 例如:启动指定服务的名称 httpd -k start -n 服务…

LDR6500协议芯片:诱骗取电协议,OTG数据同时实现功能芯片

在当前的电子设备市场中,随着USB Type-C接口的广泛应用,用户对充电和数据传输的需求日益提升。为了满足这一需求,乐得瑞科技凭借其深厚的技术积累和创新能力,推出了LDR6500——一款专为USB Type-C Bridge设备设计的USB PD&#xf…

CVE-2024-30269 DataEase配置信息泄露

文章目录 免责声明漏洞描述fofa影响版本漏洞复现nuclei修复建议 免责声明 本文章仅供学习与交流,请勿用于非法用途,均由使用者本人负责,文章作者不为此承担任何责任 漏洞描述 DataEase是一个开源的数据可视化分析工具,可以连接…

IPv6 DNS简介

IPv6网络中的每台主机都是由IPv6地址来标识的,用户只有获得待访问主机的IPv6地址,才能够成功实现访问操作。对于用户来讲,记住主机的IPv6地址是相当困难的,因此设计了一种字符串形式的主机命名机制,这就是域名系统。用…

Java面试题———SpringBoot篇

目录 1、项目中为什么选择SpringBoot 2、SpringBoot的自动装配原理 3、SpringBoot的核心注解是哪个 4、SpringBoot中的starter是干什么的 5、SpringBoot可以有哪些方式加载配置 6、bootstrap.yml和application.yml有何区别 7、SpringBoot读取配置的方式有几种 8、Spring…

[Vue3核心语法] ref、reactive响应式数据

定义: ref用来定义:基本类型数据、对象类型数据; reactive用来定义:对象类型数据。 使用原则: 若需要一个基本类型的响应式数据,必须使用ref。 若需要一个响应式对象,层级不深,ref、reactive都可以。 …

高斯分布、均值与标准差:详细讲解与案例分析

目录 一、高斯分布的定义二、均值的意义三、标准差的作用四、均值与标准差在高斯分布中的关系五、实际应用中的高斯分布六、总结 高斯分布,又称为正态分布,是统计学和概率论中最重要的分布之一。它不仅在理论上有着极其重要的地位,而且在实际…

从HCI和空口分析HFP通话和eSCO建立

背景 HFP作为经典蓝牙通话建立和断开的协商服务,通话数据则是通过eSCO链路进行传输,下面以手机和蓝牙耳机为例,结合HCI和空口分析从HFP连接建立,到AT命令协商会话,再到eSCO通话数据链路的建立 。 1:HFP连…

C# 实操高并发分布式缓存解决方案

1. CAP 原则 CAP 原则也称为布鲁尔定理,由 Eric Brewer 在 2000 年提出,描述了分布式系统中的三个核心属性:一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tol…

【Linux】Linux常见指令及权限理解

1.ls指令 语法 : ls [ 选项 ][ 目录或文件 ] 功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含文…

Golang | Leetcode Golang题解之第492题构造矩形

题目: 题解: func constructRectangle(area int) []int {w : int(math.Sqrt(float64(area)))for area%w > 0 {w--}return []int{area / w, w} }

鸿蒙网络编程系列21-使用HttpRequest上传任意文件到服务端示例

1. 前述文件上传功能简介 在前述文章鸿蒙网络编程系列11-使用HttpRequest上传文件到服务端示例中,为简化起见,只描述了如何上传文本类型的文件到服务端,对文件的大小也有一定的限制,只能作为鸿蒙API演示使用,在实际开…

深度学习-24-基于keras的十大经典算法之残差网络ResNet

文章目录 1 残差网络(ResNet)1.1 ResNet简介1.2 ResNet结构2 模型应用2.1 加载数据2.2 构建模型SimpleResNet2.2.1 simple_resnet_block2.2.2 SimpleResNet2.2.3 实例化模型2.2.4 模型训练2.2.5 模型预测2.3 构建模型ResNet182.3.1 residual_block2.3.2 ResNet182.3.3 训练模型…

无人机之三维航迹规划篇

一、基本原理 飞行环境建模:在三维航迹规划中,首先需要对飞行环境进行建模。这包括对地形、障碍物、气象等因素进行准确的测量和分析,以获得可行的飞行路径。 飞行任务需求分析:根据无人机的任务需求,确定航迹规划的…

【进阶OpenCV】 (18)-- Dlib库 --人脸关键点定位

文章目录 人脸关键点定位一、作用二、原理三、代码实现1. 构造人脸检测器2. 载入模型(加载预测器)3. 获取关键点4. 显示图像5. 完整代码 总结 人脸关键点定位 在dlib库中,有shape_predictor_68_face_landmarks.dat预测器,这是一个…

从算盘到云计算:计算机发展的壮丽历程

早期的计算器 在计算机发展史上,早期的计算器起到了重要的作用。而其中最早的计算器便是算盘。算盘是古代中国人使用的一种计算工具,它由一根木棍和一些珠子组成。通过将珠子在木棍上移动,人们可以进行简单的加减乘除运算。虽然算盘的计算速…

[week1]Newstar Simple_encryption

找到源代码和加密后密文 a [0x47, 0x95, 0x34, 0x48, 0xA4, 0x1C, 0x35, 0x88, 0x64, 0x16, 0x88, 0x07, 0x14, 0x6A, 0x39, 0x12, 0xA2, 0x0A, 0x37, 0x5C, 0x07, 0x5A, 0x56, 0x60, 0x12, 0x76, 0x25, 0x12, 0x8E, 0x28] # 进行处理 for j in range(len(a)): …