汇编语言作业(一)

news2025/1/13 11:36:47

  • 目录

    一、实验目的

    二、实验内容

    三.实验步骤以及结果

    四、实验结果与分析

    五.实验总结


    一、实验目的

  • 1、学会搭建汇编语言程序设计的软件平台
    2、熟悉debug命令的使用
    3、学会如何使用 debug 来进行寄存器、内存中内容的查看和修改,如何使用 debug 来进行程序的调试

  • 二、实验内容

  • 1. 利用debug命令,截图保存当前寄存器的内容
  • 2.利用debug命令 从073f:0120开始的内存地址中写入字符串“welcome to masm”
  • 3.利用debug命令将如下指令写入到内存中,并利用t指令执行,观察寄存器AX,BX,DX,CS及IP的变化。
  •    mov ax,-3
       mov bx,1
       add ax,bx
       MOV DX,FF
       INC DX

三.实验步骤以及结果

1、利用debug命令,截图保存当前寄存器的内容。

2.利用debug命令 从073f:0120开始的内存地址中写入字符串“welcome to masm”

第二次只按d,从0180开始,而不是像第一次从0100开始。经过几次试验,发现,最开始默认从0730F:0100(CS:IP)开始,后面的则紧接着上一次的查看的内容。如上一次在0730F:017F结束,下一次的-d则从0730F:0180开始。

3.利用debug命令将如下指令写入到内存中,并利用t指令执行,观察寄存器AX,BX,DX,CS及IP的变化。

可见,-R或-T的末尾部分即下一次执行的指令。IP为下一次指令的地址。

寄存器AX,BX,DX,CS,IP的变化如下。

执行MOV BX,0001.

BX由0000变为0001,IP由0100变为0103。

执行ADD AX,BX.

AX由0000变为0001,IP由0103变为0105,BX未变。

3.执行MOV DX,00FF.

DX由0000变为00FF,IP由0105变为0108。

执行INC DX.

DX由00FF变为0100,IP由0108变为0109。

由上面四条可归纳出:

1、无论执行什么样的指令,IP总会变化,结合上一张-输入汇编语言的截图可知(-A指令下面的截图),IP就是下一次指令的地址。

2、根据寄存器数值的变化可以分析MOV,ADD,INC所代表的含义。

思路如下:

根据汇编语言的命令可以得出命令涉及哪些变量与数值,如第一条,MOV BX,0001,说明这条指令与BX和0001有关,结合寄存器的变化,可以猜出MOV的含义是赋值,这条指令的意思是令寄存器BX赋值为0001。再看一下第3条,发现DX被赋值为00FF。

MOV BX 0001,可类比为C语言中的 BX=0001。即赋值操作。

同理ADD AX,BX,可类比为AX=AX+BX。即相加操作。

INC DX,可类比为DX++。即自增操作。

四、实验结果与分析

可见第三部分。

五.实验总结

本次实验,成功下载了使用汇编语言的工具,并简单学习了debug命令的使用。下面三个实验目的也基本实现。

    1. 学会搭建汇编语言程序设计的软件平台
    2. 熟悉debug命令的使用
    3. 学会如何使用 debug 来进行寄存器、内存中内容的查看和修改,如何使用 debug 来进行程序的调试

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

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

相关文章

安利一款好用到爆的可视化拖拽库

嗨,大家好,我是徐小夕,之前一直在研究可视化零代码相关的技术实践,也做了很多可视化搭建的产品,比如: H5-Dooring(页面可视化搭建平台)V6.Dooring(数据大屏可视化平台&am…

挑战传统编程范式:Java函数式编程的魅力

1.概述 1.1概念 函数式编程是一种编程范式,即一切都是数学函数。在Java面向对象编程中,程序是一系列相互作用(方法)的对象,而在函数式编程中,程序会是一个无状态的函数组合序列。 1.2 优点 大数量下处理…

数据分析(三)线性回归模型实现

1. 惩罚线性回归模型概述 线性回归在实际应用时需要对普通最小二乘法进行一些修改。普通最小二乘法只在训练数据上最小化错误,难以顾及所有数据。 惩罚线性回归方法是一族用于克服最小二乘法( OLS)过拟合问题的方法。岭回归是惩罚线性回归的…

Linux基础篇:文件系统介绍——根目录下文件夹含义与作用介绍

Linux文件系统介绍——文件夹含义与作用 Linux文件系统是一个组织和管理文件的层次结构。它包括了目录、子目录和文件,这些都是按照一定的规则和标准进行组织的。以下是Linux文件系统的一些关键组成部分: 1./bin: 该目录包含了系统启动和运…

Anaconda/Python快速安装jieba 【win/mac】

一、直接上命令 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba 我是在PyCharm里面的终端输进去。 之后就很快速的看到成功的下图。 二、官网 官网下载的速度太慢了——这是官网地址https://pypi.org/project/jieba/#files 点进去之后点击下载&#xff0c…

一文掌握线程池实现原理

线程池简介 Java在使用线程执行程序时,需要调用操作系统内核的API创建一个内核线程,操作系统要为线程分配一系列的资源;当该Java线程被终止时,对应的内核线程也会被回收。因此,频繁的创建和销毁线程需要消耗大量资源。…

书生·浦语大模型实战营 | 第2次学习笔记

前言 书生浦语大模型应用实战营 第二期正在开营,欢迎大家来学习。(参与链接:课程升级,算力免费,书生浦语实战营第二期学员招募|活动预告https://mp.weixin.qq.com/s/YYSr3re6IduLJCAh-jgZqg) …

蓝桥杯:七步诗 ← bfs

【题目来源】https://www.lanqiao.cn/problems/3447/learning/【题目描述】 煮豆燃豆苴,豆在釜中泣。本是同根生,相煎何太急?---曹植 所以,这道题目关乎豆子! 话说赤壁之战结束后,曹操的船舰被刘备烧了,引领军队从华容…

域名如何端口映射?

域名端口映射是一种重要的网络技术,它可以实现不同设备之间的远程通信。在全球互联网的背景下,人们之间的通信变得非常便捷,但随之而来的问题是如何有效地实现设备之间的互联互通。域名端口映射正是为了解决这个问题而出现的。 天联组网 天联…

单片机之LED与按键

目录 LED LED灯亮的原理图 LED灯光闪烁 电路设计 keil文件 LED流水灯的实现 keil文件 单片机之按键 键盘的结构 按键消抖 软件消抖 硬件消抖 键盘的分类 独立式键盘 行列式键盘 键盘的识别 独立按键案例 电路图 keil文件 行列式键盘案例 电路图 对应按键…

该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系

该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系 这个去集群主机cm界面上看会出现这个错误 排查思路: 一般比较常见的原因可能是出问题的主机和集群主节点的时间对应不上了。还有就是cm agent服务出现问题了 去该主机的…

开源模型应用落地-chatglm3-6b模型小试-入门篇(三)

一、前言 刚开始接触AI时,您可能会感到困惑,因为面对众多开源模型的选择,不知道应该选择哪个模型,也不知道如何调用最基本的模型。但是不用担心,我将陪伴您一起逐步入门,解决这些问题。 在信息时代&#xf…

安卓开机动画

目录 一、开机动画的2种模式1.1 android模式1.2 movie模式 二、开机动画代码运行位置三、删除开机动画四、自定义开机动画实践 一、开机动画的2种模式 一种是使用两张图片利用某种效果来造成动态,另一种则是用一个图包循环显示的方式来形成动态。当然,这…

JAVA基础03-scanner,输出,循环,if的使用以及eclipse的安装

目录 scanner的使用 if语句的使用 eclipse的使用 switch语句的使用 输出方法的使用 循环语句 scanner的使用 实现用户数据的交互,用户通过终端输入数据 注意:使用Scanner需要导包 在程序开头加上:import java.util.Scanner; //由于S…

【设计原则】CQRS

文章目录 概述组成与特点优缺点何时使用 CQRS 模式推荐阅读 概述 CQRS(Command Query Responsibility Segregation)是一种软件设计模式,其核心设计理念是将一个对象的数据访问(查询)和数据操作(命令&#…

QT----YOLOv5检测平台

目录 1 opencv环境安装1.1 报错Could NOT find CUDNN (missing: CUDNN_LIBRARY CUDNN_INCLUDE_DIR) (Required is at least version "7.5")1.2 使用camkevs编译opencv4.8.01.3 报错operator !":重载函数具有类似的转换(编译源文件 H:\opencv-4.8.0\opencv-4.8.0…

PAC性能开销权衡及优化措施

PAC性能开销?如何进行优化?本博客探讨这些问题。

[StartingPoint][Tier0]Mongod

Task 1 How many TCP ports are open on the machine? (机器上打开了多少个 TCP 端口?) Example: $ sudo nmap -sS -T4 10.129.222.112 -p 27017,22 2 Task 2 Which service is running on port 27017 of the remote host? (哪个服务正在远程主机的端口 270…

NASA数据集——1980 年至 2020 年北美 3km分辨率气温(摄氏度)、相对湿度(%)、风速(米/秒)、风向(真北偏角)、总降水量(雨+雪)等数据集

Daily SnowModel Outputs Covering the ABoVE Core Domain, 3-km Resolution, 1980-2020 简介 文件修订日期:2023-01-27 数据集版本: 1 摘要 该数据集提供了 1980 年 9 月 1 日至 2020 年 8 月 31 日期间 3 千米网格上的 SnowModel 每日模拟输出,涵…

Java快速入门系列-3(Java基础)

第三章:Java基础 3.1 Java语法基础3.1.1 Java程序入口点:main方法3.1.2 注释3.1.3 变量声明与赋值3.1.4 数据类型3.1.5 标识符与关键字 3.2 数据类型与变量3.2.1 基本数据类型3.2.2 引用数据类型 3.3 控制流程3.3.1 条件语句3.3.2 循环结构 3.4 数组与集…