汇编语言实验报告完整的汇编程序源程序的调试

一、实验目的

  1. 熟悉汇编语言源程序中数据在内存中的地址。
  2. 掌握汇编语言源程序的顺序结构,默认十进制数D。
  3. 掌握汇编语言源程序的多个逻辑段结构。
  4. 熟悉汇编语言源程序的执行步骤及debug调试的方法。

二、实验环境

Windows10 DOSBox-0.74  MASM5.0

三、实验内容

调试教材P139的程序7.1

1.分析问题,按照五个步骤调试程序( 默认十进制D)。

2.保存此程序文件名为你学号的后三位P71,用汇编语言源程序上机的五个步骤来调试。即用MASM汇编生成目标文件,用LINK进行连接生成可执行文件,并运行程序,接着进入在Debug下调试程序,用-R、-D、 _∪、-T或-G.再_D命令来分析查看调试过程和结果。

四、实验步骤与过程分析(描述)

1.保存此程序文件名为你学号的后三位P71,即为123p71.asm。

2.用MASM汇编生成目标文件,用LINK进行连接生成可执行文件

运行程序,接着进入Debug下调试程序

首先-r查看当前各个寄存器内容,接着-u对机器代码反汇编查看具体指令

4.-t执行汇编程序,-d查看当前内存具体内容。

可以看到最左边是内存的起始地址,中间以十六进制的形式显示内存值,最右边是以ASCII码的形式显示内存值;每行最多显示16个字节的内容。

-d DS:0100查看data段。

debug以十六进制数码和ASCII码字符的形式显示出其中的内容‘u’,’n’,’I’,’X’,’f’,’o’,’r’,’k’的ASCII分别’ 75h,6Eh,49h,58h,66h,6fh,52h,4bh’

五、实验总结

一个完整的汇编语言源程序通常由若干个逻辑段(Segment)组成, 包括数据段、附加段、堆栈段和代码段,它们分别映射到存储器中的物理段上。每个逻辑段以 SEGMENT语句开始, 以 ENDS语句结束,整个源程序用END语句结尾。

代码段中存放源程序的所有指令码, 数据、变量等则放在数据段和附加段中。程序中可以定义堆栈段,也可以直接利用系统中的堆栈段。具体一个源程序中要定义多少个段应根据实际需要来定。但一般来说,一个源程序中可以有多个代码段, 也可以有多个数据段、附加段及堆栈段, 但一个源程序模块只可以有一个代码段、一个数据段、个附加段和一个堆栈段。将源程序以分段形式组织是为了在程序汇编后,能将指令码和数据分别装入存储器的相应物理段中。

猜你喜欢

转载自blog.csdn.net/m0_56267074/article/details/128412686