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

实验项目程序运行过程分析
综合性实验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 segment
        mov ax,0123H
        mov bx,0456H
        add ax,bx
        add ax,bx
        mov ax,4c00H
        int 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.分析讨论

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zkaisen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值