王爽汇编语言第三版实验1

前言

本系列的文章是对王爽老师的汇编语言中的实验的解答记录,原书一共有17个实验,由于学校的教学流程只做到了第14个实验,因此本文章只会有前十四个实验的解答记录,还有个比较重要的是,文章中会有原书实验中没有的题目,这些是我的老师自己加的,你不感兴趣就无视。btw,以这篇文章记录我的汇编语言的学习历程

实验任务

(1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中

相关寄存器中内容的变化。

在这里插入图片描述

提示,可用E命令和A命令以两种方式将指令写入内存。注意用T命令执行时,CS:IP的指向。注:由于篇幅问题,图片仅展示一部分!

解答:

使用A指令编写汇编指令,这里必须注意填写数值的时候不要有H!

在这里插入图片描述

更改CS:IP的指向

在这里插入图片描述

执行命令,AX和BX的值发生更改

在这里插入图片描述

(2)将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。

mov ax,1
add ax,ax
jmp 2000:0003

解答:

使用A命令编写汇编指令,这里有个小细节,用r命令修改寄存器的值可以不用空格隔开,比如rip就能直接修改ip寄存器的值

在这里插入图片描述

执行命令

在这里插入图片描述

(3) 查看内存中的内容。

PC机主板上的ROM中写有一个生产日期,在内存FFF00H〜FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。

解答:

FFF00H\~FFFFFH跨度是FF,因此运行

-d fff00:0 ff

地址FFF0:00F0即是生产日期
在这里插入图片描述

试图修改,发现报错,原因后面分析

在这里插入图片描述

(4) 向内存从B8100H开始的单元中填写数据,如:-e B810:0000 01 01 02 02 03 03 04 04

解答:
在这里插入图片描述

检测点2.1

在这里插入图片描述

解答:

随便找一个内存段,使用A命令写入指令

在这里插入图片描述

修改CS:IP寄存器

在这里插入图片描述

执行命令
在这里插入图片描述
在这里插入图片描述

实验结论、实验体会

以下是对于每道题运算结果的个人看法与总结,有错请指正

第一题:

  • 采用e指令或者a指令都可以达到预期的实验的目的
  • e指令采用机器码的形式直接对连续的内存地址进行修改的,稍有不慎,会计算出错
  • a指令,选择一个段地址,可以在这上面直接用汇编语言进行编写,不容易出错和便于检查。
  • t指令,必须先修改cs和ip段寄存器的内容,指向要运行的程序段,否则则不会运行我们编写的程序

第二题:

  • jmp是一个跳转指令,可以跳转到我们需要它跳转的物理地址上
  • 在编写运行一个新的程序时,必须把上一个程序运行完成,否则无法进行改写
  • 直接修改cs和ip的值可以提前跳出循环

第三题:

  • 执行结果生产日期与我的电脑不符合,查阅资料——dosbox是虚拟机,也就是虚拟环境,因此输出的内容和物理机的信息没有任何关系
  • 通过数字逻辑的知识,ROM为只读存储器,因此修改FFFF0会报错

第四题:

  • 现象:用e命令修改内存单元后,用d命令查看内容并未修改
  • 查阅:该处地址单元位于显存地址单元中,可以进行数据的写操作
  • 原因:显存单元中的内容是与屏幕输出是同步的,再用d命令查看是显存中的内容已经发生了改变

检测点2.1:

没啥好说的,程序运行的结果与手算的结果相一致,是验证性的一类实验

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

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

相关文章

汇总10个AI免费一键生成PPT的网站

一、前言 PPT幻灯片是现代办公和学习中的重要组成部分。它在工作、研究或培训中扮演着重要角色,并能够让观众更好地理解信息。随着当今人工智能技术的快速发展,现在有很多免费的AI PPT生成器可供选择,帮助用户更加便捷地制作出高效且具有较强…

rhce:列行性(at和cron)

配置 at练习 设置时间提醒 定义一分钟后显示命令,使用atq查看 cron练习 配置 systemctl status crond 查看文件所在位置 ll /var/spool/cron/ 主要功能 开始操作 进入界面操作每天早上9点说hello crontab -e 五个星号分别代表分时日月周,其次是执…

Elasticsearch的X-Pack 详细简介

Elasticsearch的X-Pack是一个功能丰富的扩展包,它集成了多种便捷功能,旨在提升Elasticsearch的使用体验和安全性。 一、X-Pack的核心功能 X-Pack为Elastic Stack(包括Elasticsearch、Kibana、Beats和Logstash)提供了以下核心功能…

SpringBoot中异步操作的深度解析与实践指南

在开发中,优化接口响应速度是一个重要的性能考量。异步操作是一种有效的方法,可以在不阻塞主线程的情况下执行耗时的任务,从而提高接口的响应速度。以下是一些关于异步操作适用场景以及如何在SpringBoot中实现异步方法的详细介绍。 异步操作…

光通信——前传基本架构

一、前传基本架构 第三代移动通信技术引入了分布式射频接入网络(Distributed Radio Access Network , D-RAN)架构。在此架构中的的基带处理单元( Baseband Unit , BBU) 和 射频拉远单元( Remot…

Kafka-初识

一、Kafka是什么? Kafka是一个高度可扩展、弹性、容错和安全的分布式流处理平台,由服务器和客户端组成,通过高性能TCP网络协议进行通信。它可以像消息队列一样生产和消费数据。可以部署在裸机硬件、虚拟机和容器上,也可以部署在本…

[图形学]蒙特卡洛积分方法介绍及其方差计算

一、简介 本文介绍了蒙特卡洛积分算法的基本原理和其误差计算。 二、蒙特卡洛积分介绍 1. 介绍 蒙特卡洛积分算法是一种数值积分算法,用于对复杂函数进行积分。 例如,对于目标积分函数: ∫ a b f ( x ) d x (1) \int_{a}^{b}f(x)\rm{d}x…

【MySQL】提高篇—索引与性能优化:索引的概念与类型(单列索引、复合索引、全文索引)

在关系数据库中,当表中的数据量增大时,查询性能可能会显著下降。为了提高数据检索的效率,数据库系统提供了索引的概念。 索引类似于书籍的目录,可以快速定位到特定的数据行,从而加快查询速度。 索引的使用在实际应用…

springboot034在线商城系统设计与开发-代码(论文+源码)_kaic

毕 业 设 计(论 文) 题目:ONLY在线商城系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本ONLY在线商城系统…

Dubbo 序列化方式

Hession 这是dubbo的默认序列化协议,是一种二进制协议,他的特点是序列化的速度比较快,并且序列化的数据体积比较小。Hession适合于大部分场景,因此被选为dubbo的默认序列化协议。 Json Json是一种基于文本的序列化方式&#xf…

python+Mosh网课笔记02

太久没写python代码了,学机器学习重新拾起python,笔记比较简陋。 参考:mosh的python教程 目录 一、控制流 二、函数functions 三、数据结构 list stack queue tuple swapping variables array sets dictionary 解包 一、控制流…

机械臂力控方法概述(一)

目录 1. MoveIt 适用范围 2. 力控制框架与 MoveIt 的区别 3. 力控方法 3.1 直接力控制 (Direct Force Control) 3.2 间接力控制 (Indirect Force Control) 3.2.1 柔顺控制 (Compliant Control) 3.2.2 阻抗控制 (Impedance Control) 3.2.3 导纳控制 (Admittance Control…

Wordpress—一个神奇的个人博客搭建框架

wordpress简介 在当今数字化的时代,拥有一个属于自己的个人博客,不仅可以记录生活点滴、分享专业知识,还能展示个人风采。而在众多的博客搭建框架中,Wordpress 以其强大的功能和灵活性脱颖而出。今天,就让我们一起深入…

【秋招笔试】10.13拼多多(已改编)秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集…

大数据研究实训室建设方案

一、概述 本方案旨在提出一套全面的大数据研究实训室建设策略,旨在为学生打造一个集理论学习与实践操作于一体的高端教育环境。实训室将专注于培养学生在大数据处理、分析及应用领域的专业技能,通过先进的设施配置、科学的课程体系和实用的实训模式&…

红黑树的底层讲解

一、红黑树的介绍 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是红(red)或黑(black)。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红…

FLINK SQL语法(1)

DDL Flink SQL DDL(Data Definition Language)是Flink SQL中用于定义和管理数据结构和数据库对象的语法。以下是对Flink SQL DDL的详细解析: 一、创建数据库(CREATE DATABASE) 语法:CREATE DATABASE [IF…

linux环境下的程序设计与git操作

目录 前言: 进度条小程序: 先介绍几个背景知识 代码实现 Git操作 总结 其他指令 前言: 本文将重点介绍1. linux下的程序设计,并使用linux下的几个函数接口。实现一个简单的小程序 2.本着开源精神,进行git操作。…

Vue详细入门(语法【三】)

今天滴的学习目标!!! Vue组件是什么?组件的特性和优势Vue3计算属性Vue3监听属性 在前面Vue详细入门(语法【一】——【二】)当中我们学习了Vue有哪些指令,它的核心语法有哪些?今天我们…

在 javascript 中使用相邻参数作为函数的默认值

更多好文,欢迎关注公众号Geek技术前线 默认参数值在JavaScript中已经存在一段时间了。但其实可以将前面的相邻参数作为默认值本身。 JavaScript自ES2015以来就支持默认参数值,但我们可能不知道的是,我们可以将之前的相邻参数作为默认值 fun…