东华大学罗辛汇编实验二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统原理实验报告

实验名称:编译汇编程序

姓名:

学号:

班级:计算机

指导老师:**

一、实验内容

(描述实验内容)

1、自学并完成如下内容:

(1)自学汇编语言程序的上机过程

(2)学会编译自己的第一个汇编程序

(3)程序执行过程的跟踪

2、完成实训内容一;

3、将程序编译连接,用DEBUG加载、跟踪,然后回答问题。

4、编写程序code段中的代码,将a段和b段中的数据依次相加,将结果存到c段中。

5、编辑录入程序,然后编译连接并执行。

6、编辑录入程序,然后编译连接并执行。

二、实验目的

(描述实验目的)

1.学习汇编语言程序的编辑、编译与连接。

2.掌握使用DEBUG调试汇编语言程序。

三、实验原理

(描述实验基本原理)

利用edit编写汇编代码

利用MASM.exe汇编源程序产生obj文件

利用LINK.exe产生exe可执行文件

利用debug追踪程序的运行

四、实验过程

(重点部分,必须包括:实验开发环境、实验步骤、实验源程序代码及其结构分析)1、程序运行体验实验

(1)

可执行文件t1.exe生成。(2)

mov ax,2000H

ax=2000

栈顶为0000 mov ss,ax

ss=2000

栈顶为0000 mov sp,0

sp=0

栈顶为0000 add sp,10

sp=10

栈顶为0000 pop ax

ax=0000 pop bx

bx=0000 push ax

栈顶为0000 push bx

栈顶为0000 pop ax

ax=0000 pop bx bx=0000

(3)

通过d命令查看PSP内容2、常用指令与寻址体验实验

(1)

Mov ax,16

将16存入ax寄存器

Mov dx,12

将12存入dx寄存器

Add ax,dx

Ax中数值与dx中数值相加,和存在ax中Sub ax,2

Ax中数值与2相减,差存在ax中

和的结果为28,在ax中

差的结果为26,在ax中,覆盖了之前和的数据(2)

Mov ax,000c

将000c存储在ax中

Inc ax

将ax中数据+1后存在ax中Mov word ptr[0200],0312

将0312存入200号地址单元Inc byte ptr[0201]

201号地址字节单元+1

Dec byte ptr[0200]

200号地址字节单元-1

结果:

Ax=000d

200号字节单元为11

201号字节单元为04

五、实验结果

(把程序运行的结果通过截屏帖出来,并简单描述每个截图的意思)3、

将下面的程序编译链接,用debug加载跟踪,然后回单问题

(1) CPU执行程序,程序返回前,data段中的数据为多少?(回答并以屏幕截图证明)

Data段中的数据为

0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h (截图见上方)(2) CPU执行程序,程序返回前,cs、ss、ds的值分别为多少?(回答并以屏幕截图证明)

Cs=1503

Ss=1502 (截图见上方)

Ds=1501

(3) 设程序加载后,code段的段地址为X,则data段的段地址为多少?stack 的段地址为多少?

Data段的段地址为X-2

Stack段的段地址为X-1

4、程序如下,编写code段中的代码,将a段和b段中的数据依次相加,将结果存到c段中。

5、

6、

六、实验心得体会

(写出在做实验过程中碰到的问题、解决方法、存在的不足,实验过程中所获得的经验等等)

对debug的使用更加熟练,同时也学会了编写生成汇编程序与利用debug追踪程序的运行

七、参考文献

相关文档
最新文档