143班03冯雪实验三.docx

上传人:b****6 文档编号:8360149 上传时间:2023-01-30 格式:DOCX 页数:14 大小:162.90KB
下载 相关 举报
143班03冯雪实验三.docx_第1页
第1页 / 共14页
143班03冯雪实验三.docx_第2页
第2页 / 共14页
143班03冯雪实验三.docx_第3页
第3页 / 共14页
143班03冯雪实验三.docx_第4页
第4页 / 共14页
143班03冯雪实验三.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

143班03冯雪实验三.docx

《143班03冯雪实验三.docx》由会员分享,可在线阅读,更多相关《143班03冯雪实验三.docx(14页珍藏版)》请在冰豆网上搜索。

143班03冯雪实验三.docx

143班03冯雪实验三

14-3班-03-冯雪-实验三

课程实验基本规范

为加强实验管理,规范实验(上机)工作,结合软件学院实验教学工作,制订本规范。

1.1实验报告书写规范

1.学生实验报告应统一使用辽宁工程技术大学上机实验报告模板,各个专业可根据自身实验特点进行内容的适当调整和补充。

实验报告的内容必须含有实验目的、实验内容、实验分析、实验总结四部分。

2.仅对设计性和综合性实验要求书写实验报告。

3.学生实验报告要求使用碳素笔或圆珠笔书写,图表可用铅笔书写。

4.实验报告内容均应填写完整,学生实验报告中实验步骤和原始实验数据记录要详实、实验数据分析和实验结论应充分(讨论实验中遇到的问题,写出自己的见解、体会和收获,提出对实验的改进意见等)。

5.实验报告中的图、表应按规范要求绘制,实验分析结果报告可以记录或粘贴在实验报告中相应的位置。

6.实验报告用纸应统一为A4纸规格,左侧装订。

7.报告打印版采用行距为1.5倍行距,中文为小四宋体、西文和数字为小四TimesNewRoman;页边距设置为上2.5cm,下2.0cm,左3cm,右2.5cm;页脚的页码按阿拉伯数字(小五、TimesNewRoman)连续编排,居中书写。

1.2实验报告要求

学生实验报告应当填写齐全所涉及的项目和内容。

实验报告要求内容完整、语言通顺、图表清晰、分析合理、讨论深入、见解独特,实验数据处理每人独立进行,真实反映实验结果,不能多人合写一份报告。

实验报告评阅是对学生实验态度、实验报告的内容完整性、实验分析和实验结论的论述、报告的整体完成质量等方面进行综合评价。

实验报告中如发现有伪造数据或改动实验现象的、缺交和抄袭的,实验报告成绩均按零分记。

实验报告的分值分配为:

①实验的预习和准备情况(占10%);

②实验运行及结果(占75%);

③实验报告的文字书写能力和规范性(占15%)。

实验报告模版

成绩

辽宁工程技术大学上机实验报告

课程名称

计算机硬件技术及应用

实验题目

综合程序设计

院系

软件工程

专业

软件专业

班级

软件三班

姓名

冯雪

学号

1420010304

实验日期

2015-5-28

实验

目的

1.熟练掌握子程序的结构。

2.掌握子程序设计的思想、方法及上机调试过程。

3.熟练掌握系统功能调用的作用。

4.掌握系统功能调用的思想、方法。

实验

准备

1.8086/8088汇编语言指令及伪指令的用法

2.子程序设计的思想和方法

(1)子程序是功能相对独立的程序段,它可以实现源程序的模块化,简化源程序结构,提高编程效率

(2)子程序定义:

利用过程伪指令PROC和ENDP,格式如下:

过程名PROC[NEAR|FAR]

……;过程体

过程名ENDP

其中:

可选的参数指定过程的调用属性。

没有指定过程属性,则采用默认属性NEAR。

NEAR属性:

段内近调用,子程序只能被相同代码段的其他程序调用

FAR属性:

段间远调用,子程序可以被相同或不同代码段的程序调用

(3)主程序(调用程序)调用子程序(被调用程序):

利用CALL指令

(4)子程序返回主程序:

利用RET指令

(5)保护现场:

子程序开始处应该保护子程序中使用的寄存器(通常利用堆栈),子程序返回前相应进行恢复。

(6)子程序中对堆栈的压入和弹出操作通常成对使用,以保持堆栈的平衡。

(7)子程序允许嵌套和递归

(8)处理好子程序与主程序之间的参数传递问题:

利用寄存器、内存缓冲区及堆栈。

3.DOS和BIOS中断调用是机器及操作系统提供的中断调用功能

4.系统功能调用的步骤:

⑴在AH寄存器中设置系统功能调用号

⑵在指定寄存器中设置入口参数

⑶用中断调用指令(INTi8)执行功能调用

⑷根据出口参数分析功能调用执行情况

5.DOS利用21H号中断提供给用户近百个系统功能,主要包括设备管理、目录管理和文件管理三个方面的功能

(1)输入一个字符,01H号功能调用

(2)输出一个字符,02H号功能调用

(3)输入一个字符串,0AH号功能调用

(4)输出一个字符串,09H号功能调用

注意它们的入口参数及出口参数

6.BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序

BIOS功能更加基本,且与操作系统无关,当DOS没有启动或不允许使用DOS功能调用时,可以使用BIOS功能调用

(1)键盘I/O中断调用——INT16H

(2)显示器输入中断调用——INT10H

实验

进度

本次共有2个练习,完成2个。

 

实验

内容

 

【练习1】

编写主程序调用一个过程,实现将两个非压缩BCD码转换为一个压缩BCD码,并用字符显示功能和字符串显示功能完成在屏幕上显示一个字符串“HelloWorld!

”的功能。

(1)实现方法

定义俩个字节和一个字符串,并开辟空间,并利用callchange语句交换其位置,然后用伪指令将其压缩

(2)程序代码

DATASSEGMENT

BCD1DB03H

BCD2DBO7H

STRINGDB"HELLOWORLD!

","$"

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

CALLCHANGE

MOVAH,4CH

INT21H

CHANGEPROC

MOVAL,BCD2

MOVCL,4

SHLAL,CL

ADDBCD1,AL

MOVAX,SEGSTRING

MOVDS,AX

MOVDX,OFFSETSTRING

MOVAH,O9H

INT21H

RET

CHANGEENDP

CODESENDS

ENDSTART

【练习2】

在内存建立一个表TABLE,其中存放20个字节型无符号数,从键盘输入一个数X(一位数),查找该数X在TABLE中是否存在,若存在,则在RESULT单元存入1,否则存入-1。

(1)实现方法

 

(2)程序代码

DATASSEGMENT

tabledb01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20

resultdb?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

cld

MOVAX,Datas

MOVDS,AX

LEAdi,table

movcx,20

moval,0fh

repnescasb

jzzer

movresult,-1

jmpstop

zer:

movresult,1

stop:

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

 

实验

分析

【练习1】

(1)该源程序取名1.ASM,通过汇编、连接后生成可执行文件1.EXE,运行该文件显示的内容如下:

(2)调试方法和运行结果

利用U命令观察内容如上,表明DS=0B91H;字符串“Pleaseinputyourname:

”的起始地址为DX=002AH;字符串“Welcome!

”的起始地址为DX=0045H,数据缓冲区起始地址为DX=0000H。

观察数据段如下:

以上数据表明:

没有通过键盘录入姓名“Mary”前,数据缓冲区0B91H:

0000H连续40个字节为空。

运行程序后再观察该位置如下:

利用P命令,录入“Mary”后,数据段0B91H:

0000H连续7个字节中,分别存放28H(40个字符)、4H(实际录入字符)、4DH(M字符)、61H(a字符)、72H(r字符)、79H(y字符)、0DH(回车)。

(3)实验问题和解决方案

 

【练习2】

(1)该源程序取名1.ASM,通过汇编、连接后生成可执行文件1.EXE,运行该文件显示的内容如下:

(2)调试方法和运行结果

利用U命令观察内容如上,表明DS=0B91H;字符串“Pleaseinputyourname:

”的起始地址为DX=002AH;字符串“Welcome!

”的起始地址为DX=0045H,数据缓冲区起始地址为DX=0000H。

观察数据段如下:

以上数据表明:

没有

通过键盘录入姓名“Mary”前,数据缓冲区0B91H:

0000H连续40个字节为空。

运行程序后再观察该位置如下:

利用P命令,录入“Mary”后,数据段0B91H:

0000H连续7个字节中,分别存放28H(40个字符)、4H(实际录入字符)、4DH(M字符)、61H(a字符)、72H(r字符)、79H(y字符)、0DH(回车)。

(4)实验问题和解决方案

 

实验

总结

【实验1】

1.存在的问题

想要显示HELLOWORLD时使用T指令,会执行中断,所以不会显示结果,但是p指令却可以乡向下执行。

使用p指令。

2.实验结论

实现了压缩BCD码和非压缩BCD码之间的转换,和在DOS屏幕上的显示。

3.收获和体会

本次实验,我们用汇编语言来实现具体问题并成功的学习过程。

并深刻的体会到本次实验的重要性以及动手能力在科学上的不可或缺的重要性。

了解到了存储器之间内容的传递,体会到了运用汇编语言,编写数值计算程序方法和步骤。

分步了解到了计算机程序在各个存储器,寄存器之间的调度。

4.改进意见

【实验2】

1.存在的问题

利用反汇编指令-u查看物理地址的时候出现了BYTEPTR,以为是数据无法传递,后来查看资料明白这是强制转换。

2.实验结论

实现了数值的比较REPCNZSCASE,逐个比较。

3.收获和体会

4.改进意见

 

教师

评语

实验报告样例

成绩

辽宁工程技术大学上机实验报告

课程名称

计算机硬件基础

实验题目

实验一汇编语言程序的调试与运行

院系

软件学院

专业

软件工程

班级

网络13-1

姓名

学号

实验日期

实验

目的

1.掌握DOS系统功能的调用方法

2.掌握子程序设计的思想、方法及上机调试过程

实验

准备

1、编程实现屏幕信息具有应答功能

2.编写子程序程序,完成动画显示功能

实验

进度

本次共有2个练习,完成2个。

 

实验

内容

 

实验

内容

(续)

 

包含本次实验项目要完成的实验内容、实验原理、实验步骤或过程;对原始实验数据记录要详实。

【练习1】完成具有应答功能的在屏幕提示信息,分别为:

屏幕显示“Pleaseinputyourname:

输入姓名后

屏幕显示“Welcome!

(1)实现方法

数据段中定义2个字符串,分别为“Pleaseinputyourname:

”和“Welcome!

”;并定义1个数据缓冲区,40个字节,等待姓名的输入。

(2)程序代码

STACKSEGMENTSTACK

DB64DUP(?

STACKENDS

DATASEGMENT

BUFFDB40,?

40DUP(?

A1DB0DH,0AH

DB'Pleaseinputyourname:

$'

A2DB0DH,0AH

DB'Welcome!

','$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETA1

MOVAH,9

INT21H

MOVDX,OFFSETBUFF

MOVAH,0AH

INT21H

MOVDX,OFFSETA2

MOVAH,9

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

【练习2】(略)

 

 

实验

分析

 

实验

分析

(续)

 

记录实验的调试方法和运行结果;实验数据的分析和处理;实验过程;实验中遇到的问题和解决方案。

【练习1】

(1)该源程序取名1.ASM,通过汇编、连接后生成可执行文件1.EXE,运行该文件显示的内容如下:

(2)调试方法和运行结果

利用U命令观察内容如上,表明DS=0B91H;字符串“Pleaseinputyourname:

”的起始地址为DX=002AH;字符串“Welcome!

”的起始地址为DX=0045H,数据缓冲区起始地址为DX=0000H。

观察数据段如下:

以上数据表明:

没有通过键盘录入姓名“Mary”前,数据缓冲区0B91H:

0000H连续40个字节为空。

运行程序后再观察该位置如下:

利用P命令,录入“Mary”后,数据段0B91H:

0000H连续7个字节中,分别存放28H(40个字符)、4H(实际录入字符)、4DH(M字符)、61H(a字符)、72H(r字符)、79H(y字符)、0DH(回车)。

(3)实验问题和解决方案

①一开始无法找到数据段DS的值,因此无法查看数据段相关数据。

解决方案:

运行1.exe文件后,先用U命令反汇编查看,即可获得相关的段寄存器和其他寄存器的初始值。

②对于姓名录入的数据段信息查看不准确。

不能准确定位何时数据

缓冲区中有数据。

解决方案:

利用T命令先单步调试,遇到中断命令时改用P命令,

录入姓名后即可查看数据缓冲区。

【练习2】(略)

实验

总结

总结实验中存在的问题、数据结果、误差分析等;实验得出的主要结论;实验的收获和体会;提出对实验的改进意见等。

【实验1】

1.存在的问题

直接运行1.exe文件,当录入姓名“Mary”后窗口即刻消失,无法及时提取显示数据。

利用DOS调用MASM5的方法可以全面的展现显示信息;利用汇编集成编辑器可以体现单步调试过程,但窗口限制有时无法全面的展现显示信息,可以采用DOS调用MASM5和汇编集成编辑器联合使用的方法,有利于扬长避短。

2.实验结论

通过对数据段的数据定义,利用DOS系统功能调用方法实现了字符串的输入和输出。

3.收获和体会

学会定义数据段的数据和数据缓冲区,学会查看寄存器和存储器,学会了通过单步调试跟踪程序执行过程。

掌握了利用DOS系统功能调用方法实现了字符串的输入和输出。

4.改进意见

【实验2】略

 

教师

评语

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1