汇编语言程序运行过程分析

article/2025/10/19 16:25:39
实验项目程序运行过程分析
综合性实验2020年11月 18日

一、实验综述

1.实验目的及要求

(1)掌握程序执行具体过程
(2)构建汇编语言的运行环境
(3)掌握汇编语言的编译连接过程
(4)掌握汇编语言的调试跟踪过程

2.实验仪器、设备或软件

VMWARE
win7虚拟机
phpstudy
DVWA-master

3.实验原理

一个源程序从写出到最终执行的过程。
(1)编写汇编源程序
(2)对源程序进行编译连接
使用汇编语言编译程序对源程序文件中的源程序进行编译,生成目标文件;再用连接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。可执行文件包含两部分内容:

  • 程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
  • 相关的描述信息(比如程序有多大、要占用多少内存空间等)

(3)执行可执行文件
操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据载入内存,并进行相关的初始化(比如设置CS:IP指向第一条要执行的指令), 然后由CPU执行程序。

二、实验过程(步骤过程、数据记录)

1.步骤

(1)在虚拟机C盘新建文件夹ASMtest,并将MSAM 5.0、Noepad++与DosBox.exe下载放入C:ASMtest路径下。

在这里插入图片描述
(2)把MASM 5.0 下的所有文件拷贝到C:\ASMtest下。

在这里插入图片描述
(3)安装DOSBOX

在这里插入图片描述
(4)解压notepad软件,并运行notepad++.exe

在这里插入图片描述
(5)使用notepad++编写以下汇编语言代码:

assume cs:codesg
codesg segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,bxmov ax,4c00Hint 21H
codesg ends
end

代码及其注释:

在这里插入图片描述
(6)将文件保存为1.asm并存放到C:\ASMtest路径下

在这里插入图片描述
(7)双击桌面DOCBOX图标,运行DOCBOX

在这里插入图片描述
(8)输入命令:mount C: C:\ASMtest

在这里插入图片描述
(9)输入C:进入C盘

在这里插入图片描述
(10)使用masm命令编译1.asm文件,并生成1.obj文件

在这里插入图片描述
(11)查看生成的目标文件1.obj

在这里插入图片描述
(12)使用link命令链接1.obj文件并生成可执行文件1.exe

在这里插入图片描述
(13)查看生成的可执行文件1.exe

在这里插入图片描述
(14)使用debug运行1.exe文件

在这里插入图片描述

(15)使用R命令查看各个寄存器的值

在这里插入图片描述
(16)使用U命令将内存内的机器指令翻译为汇编指令

在这里插入图片描述
(17)使用T命令单步执行上述汇编指令,观察寄存器AX与寄存器BX值的变化

在这里插入图片描述
(18)使用P命令执行中断并结束程序运行

在这里插入图片描述
(19)使用Q命令退出

在这里插入图片描述

2.数据记录

在这里插入图片描述

三、结果讨论与分析

1.实验结果

这节课我们接触了实际的汇编语言程序环境,熟悉了相应的操作,汇编语言的理论知识也成功应用起来了。对汇编语言编写程序有了一定的认识和基础,在和同学的讨论学习中,理解了汇编语言的基本语法与指令含义,颇有小成就感。

2.分析讨论

汇编语言主要由编译、链接和运行三个步骤。
在这里插入图片描述


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

相关文章

【x86汇编】第六章 输出/输出和win32编程

文章目录 输入/输出指令和数据的传送方式输入/输出指令输入指令IN输出指令OUT串输入指令INS串输出指令OUTS 数据的传送方式无条件传送查询传送直接存储器中断传送 中断与异常中断的概念不可屏蔽中断 NMI可屏蔽中断 INTR除法出错溢出调试异常(单步)软中断…

总算编译通过了《自制编程语言》一书里的代码!

起初按照书里的说明来搭建Windows下的环境,卡在下载和编译正则表达式库“鬼车”的地方,后来留言给作者,才知道这个库已经转移到github上了(2018年4月25时点:https://github.com/kkos/oniguruma)&#xff0c…

脑语言v0.5.8 2500令【单字编程】

脑语言v0.5.8 2500令【单字编程】 【号】【单字】【多字】【英文】 1 1脑 脑语言 naoyuyan 2 配 配置 config 3 班 班级 grade 4 令 指令 command 5 述 描述 description 6 横 ■横 ■x 7 纵 ■纵 ■y 8 深 ■深 ■z 9 宽 ■宽 width 10 高 ■高 height 11 撑 缩放…

p4 编程语言环境配置

文章目录 前言建议直接看第二种方法第一种方法:p4官方教程里的方法(不建议,我没安装成功)1.1 下载并安装 Virtual Box1.2 下载并安装 Vagrant1.3 利用 Vagrant 安装虚拟机 第二种方法:直接导入已经配置好的虚拟镜像文件…

Python学习笔记 - Python语言概述和开发环境

一、Python简介 1.1 Python语言简史 Python由荷兰人吉多范罗苏姆(Guido van Rossum)于1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门解释型程序语言。Python语言基于ABC教学语言开发的。1991年第一个Python解释器公…

西门子plc如何用c语言编程软件下载,s7一200编程软件下载安装

s7-200编程软件是专为西门子s7-200系列可编程控制器而设计开发的一款工业化编程工具,该工具基于Windows系统而开发,功能强大,既可用于开发用户程序,又可实时监控用户程序的执行状态,是西门子PLC用户不可缺少的开发工具。 软件特色 1、简单、易学,能够解决复杂的自动化任务…

2019常用的几种编程语言的简单介绍和特点以及应用领域

常用编程语言的特点以及应用 编程语言有很多种,以下就是对一些常用的编程语言的简单介绍和特点以及他们的一些应用领域。希望对你能有所帮助。 在介绍各种编程语言前,我们先来看一下下面这个图,从图中可以明显看出来,当前应用最…

【编程实践】编程语言之 Smalltalk

目录 Smalltalk 简介 什么是Smalltalk 理解Smalltalk 基础语法 方法与类 代码块 控制流

浅谈对话系统

随着社会发展,我们的生活中方方面面都充斥着各种对话系统,常见提供对话系统的组织有:运营商、电商、政府服务窗口等,刚才提到的例子一般都属于任务型对话系统。何为任务型的对话系统呢?指的就是用户通常通过该对话系统…

如何实现一个简单的对话系统

文章目录 前言一、为什么需要对话二、创建对话框1.创建Canvas2.创建Panel3.创建Text和Image4.Text介绍5.Image介绍 三、对话的实现(脚本)四、实际效果总结 前言 本文主要是对如何完成简单的游戏类对话做一个学习总结,新手菜勿喷 一、为什么需…

面向任务的对话系统

面向任务的对话系统 1.1 流水线方法1.1.1 语言理解1.1.2 对话状态跟踪1.1.3 策略学习1.1.4 自然语言生成 1.2 端到端方法 面向任务的对话系统一直是口语对话系统的重要分支。在本节中,我们将回顾面向任务的对话系统的流水线方法和端到端方法。 1.1 流水线方法 基于…

对话系统简单笔记

开放域对话系统:没有限定主题或明确目标,用户与系统之间自由对话。 特定域对话系统,面向具体任务。 如:任务型对话(siri),属于特定域,完成任务或动作,话轮数越少越好。…

自然语言处理与企业对话系统设计

原创:晏茜 资料来源:李俊 本文分享的主题分为两个部分,第一部分内容是关于企业级对话系统的简介,第二部分探讨对话系统和自然语言处理技术结合的领域。 1. 企业对话系统 我们首先来介绍一下企业级对话系统。谷歌的 CEO 桑达尔在 16 年曾发表言论,人工智能将通过各式各样…

定义对话系统

定义对话系统 一、定义对话系统的方法 以下方法论其实就是在定义对话系统,后面的 确定场景边界 梳理业务要素和知识库 撰写故事线 抽取对话流程 都是下面方法论的具体展开。 二、确定场景边界 1.创建机器人定位(机器人的性格定位) 2.明…

【对话系统】对话系统核心技术概要

概述 人机交互备受学术界的关注,人机对话是人机交互的核心。 对话系统是模拟人与人交流的计算机系统。 对话系统有很多分类方法。按照应用场景的不同,可分为开放域(闲聊式)和封闭域(检索式、知识问答式、任务式&…

UNITY 对话系统

1. 准备工作 创建一个画布(Canvas),画布中创建一个面板(Panel),面板中放个文本框(TEXT)和两个按钮(Button)(一个用于直接关闭,另一个…

最新对话系统综述

前言 首先介绍一篇对话系统领域综述最新的paper,写的非常好 2021年南洋理工大学发表的论文: https://arxiv.org/pdf/2105.04387.pdf 第一章:简要介绍对话系统和深度学习。 第二章:讨论现代对话系统中流行的神经模型及其相关工…

前沿重器[25] | 聊聊对话系统:多轮对话

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 近期,我再次总结了我的历史文章…

智能对话系统之多轮对话

序言 以一周前的一条微博作为开始。一周前我讲:相对的,自然语言解析技术已经逐渐不再成为各家广义智能助理产品的核心竞争力,识别用户意图之后所提供的服务开始成为对话机器人差异化的核心。 百度:对话系统的组成 对于一个对话系…

对话系统 | (1) 任务导向型对话系统 -- 对话管理模型研究最新进展

原文链接 作者丨戴音培、虞晖华、蒋溢轩、唐呈光、李永彬、孙健 单位丨阿里巴巴-达摩院-小蜜Conversational AI团队,康奈尔大学 1. 对话管理模型背景 从人工智能研究的初期开始,人们就致力于开发高度智能化的人机对话系统。艾伦图灵(Alan …