1、143班03冯雪实验三14-3班-03-冯雪-实验三课程实验基本规范为加强实验管理,规范实验(上机)工作,结合软件学院实验教学工作,制订本规范。1.1 实验报告书写规范1学生实验报告应统一使用辽宁工程技术大学上机实验报告模板,各个专业可根据自身实验特点进行内容的适当调整和补充。实验报告的内容必须含有实验目的、实验内容、实验分析、实验总结四部分。2仅对设计性和综合性实验要求书写实验报告。3学生实验报告要求使用碳素笔或圆珠笔书写,图表可用铅笔书写。4实验报告内容均应填写完整,学生实验报告中实验步骤和原始实验数据记录要详实、实验数据分析和实验结论应充分(讨论实验中遇到的问题,写出自己的见解、体会和收
2、获,提出对实验的改进意见等)。5实验报告中的图、表应按规范要求绘制,实验分析结果报告可以记录或粘贴在实验报告中相应的位置。6实验报告用纸应统一为A4纸规格,左侧装订。7 报告打印版采用行距为1.5倍行距,中文为小四宋体、西文和数字为小四Times New Roman;页边距设置为上2.5cm,下2.0cm,左3cm,右2.5cm;页脚的页码按阿拉伯数字(小五、Times New Roman)连续编排,居中书写。1.2 实验报告要求学生实验报告应当填写齐全所涉及的项目和内容。实验报告要求内容完整、语言通顺、图表清晰、分析合理、讨论深入、见解独特,实验数据处理每人独立进行,真实反映实验结果,不能多
3、人合写一份报告。实验报告评阅是对学生实验态度、实验报告的内容完整性、实验分析和实验结论的论述、报告的整体完成质量等方面进行综合评价。实验报告中如发现有伪造数据或改动实验现象的、缺交和抄袭的,实验报告成绩均按零分记。实验报告的分值分配为: 实验的预习和准备情况(占10); 实验运行及结果(占75); 实验报告的文字书写能力和规范性(占15)。实验报告模版成绩辽宁工程技术大学上机实验报告课程名称 计算机硬件技术及应用实验题目 综合程序设计院系软件工程专业软件专业班级软件三班姓名冯雪学号1420010304实验日期2015-5-28实验目的1熟练掌握子程序的结构。2掌握子程序设计的思想、方法及上机调
4、试过程。3熟练掌握系统功能调用的作用。4掌握系统功能调用的思想、方法。实验准备18086/8088汇编语言指令及伪指令的用法2子程序设计的思想和方法(1)子程序是功能相对独立的程序段,它可以实现源程序的模块化,简化源程序结构,提高编程效率(2)子程序定义:利用过程伪指令PROC和ENDP,格式如下: 过程名 PROC NEAR|FAR ;过程体 过程名 ENDP其中:可选的参数指定过程的调用属性。没有指定过程属性,则采用默认属性NEAR。NEAR属性:段内近调用,子程序只能被相同代码段的其他程序调用FAR属性:段间远调用,子程序可以被相同或不同代码段的程序调用(3)主程序(调用程序)调用子程序
5、(被调用程序):利用CALL指令(4)子程序返回主程序:利用RET指令(5)保护现场:子程序开始处应该保护子程序中使用的寄存器(通常利用堆栈),子程序返回前相应进行恢复。(6)子程序中对堆栈的压入和弹出操作通常成对使用,以保持堆栈的平衡。(7)子程序允许嵌套和递归(8)处理好子程序与主程序之间的参数传递问题:利用寄存器、内存缓冲区及堆栈。3DOS和BIOS中断调用是机器及操作系统提供的中断调用功能4系统功能调用的步骤: 在AH寄存器中设置系统功能调用号 在指定寄存器中设置入口参数 用中断调用指令(INT i8)执行功能调用 根据出口参数分析功能调用执行情况5DOS利用21H号中断提供给用户近百
6、个系统功能,主要包括设备管理、目录管理和文件管理三个方面的功能(1)输入一个字符,01H号功能调用(2)输出一个字符,02H号功能调用(3)输入一个字符串,0AH号功能调用(4)输出一个字符串,09H号功能调用注意它们的入口参数及出口参数6BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序BIOS功能更加基本,且与操作系统无关,当DOS没有启动或不允许使用DOS功能调用时,可以使用BIOS功能调用(1)键盘I/O中断调用INT 16H(2)显示器输入中断调用INT 10H实验进度本次共有 2 个练习,完成 2 个。实验内容【练习1】 编写主程序调用一个过程,实现将两个非压缩BC
7、D码转换为一个压缩BCD码,并用字符显示功能和字符串显示功能完成在屏幕上显示一个字符串“Hello World!”的功能。(1)实现方法定义俩个字节和一个字符串,并开辟空间,并利用call change语句交换其位置,然后用伪指令将其压缩(2)程序代码DATAS SEGMENT BCD1 DB 03H BCD2 DB O7H STRING DB HELLO WORLD!,$ DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX CALL CHANGE MOV AH,4CH INT 21H CH
8、ANGE PROC MOV AL,BCD2 MOV CL,4 SHL AL,CL ADD BCD1,AL MOV AX,SEG STRING MOV DS,AX MOV DX,OFFSET STRING MOV AH,O9H INT 21H RET CHANGE ENDPCODES ENDS END START 【练习2】在内存建立一个表TABLE,其中存放20个字节型无符号数,从键盘输入一个数X(一位数),查找该数X在TABLE中是否存在,若存在,则在RESULT单元存入1,否则存入-1。(1)实现方法(2)程序代码DATAS SEGMENT table db 01,02,03,04,05,
9、06,07,08,09,10,11,12,13,14,15,16,17,18,19,20 result db ?DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART:cldMOV AX,DatasMOV DS,AXLEA di,tablemov cx,20mov al,0fhrepne scasbjz zermov result,-1jmp stopzer:mov result,1 stop: MOV AH,4CH INT 21HCODES ENDS END START 实验分析日【练习1】(1)该源程序取名1.ASM,通过汇编、连接后生成
10、可执行文件1.EXE,运行该文件显示的内容如下:(2)调试方法和运行结果利用U命令观察内容如上,表明DS=0B91H;字符串“Please input your name:”的起始地址为DX=002AH;字符串“ Welcome!”的起始地址为DX=0045H,数据缓冲区起始地址为DX=0000H。观察数据段如下:以上数据表明:没有通过键盘录入姓名“Mary”前,数据缓冲区0B91H:0000H连续40个字节为空。运行程序后再观察该位置如下: 利用P命令,录入“Mary”后,数据段0B91H:0000H连续7个字节中,分别存放28H(40个字符)、4H(实际录入字符)、4DH(M字符)、61H
11、(a字符)、72H(r字符)、79H(y字符)、0DH(回车)。(3)实验问题和解决方案【练习2】(1)该源程序取名1.ASM,通过汇编、连接后生成可执行文件1.EXE,运行该文件显示的内容如下:(2)调试方法和运行结果利用U命令观察内容如上,表明DS=0B91H;字符串“Please input your name:”的起始地址为DX=002AH;字符串“ Welcome!”的起始地址为DX=0045H,数据缓冲区起始地址为DX=0000H。观察数据段如下:以上数据表明:没有通过键盘录入姓名“Mary”前,数据缓冲区0B91H:0000H连续40个字节为空。运行程序后再观察该位置如下: 利用
12、P命令,录入“Mary”后,数据段0B91H:0000H连续7个字节中,分别存放28H(40个字符)、4H(实际录入字符)、4DH(M字符)、61H(a字符)、72H(r字符)、79H(y字符)、0DH(回车)。(4)实验问题和解决方案实验总结【实验1】1存在的问题想要显示HELLO WORLD时使用T指令,会执行中断,所以不会显示结果,但是p指令却可以乡向下执行。使用p指令。2实验结论实现了压缩BCD码和非压缩BCD码之间的转换,和在DOS屏幕上的显示。3收获和体会本次实验,我们用汇编语言来实现具体问题并成功的学习过程。并深刻的体会到本次实验的重要性以及动手能力在科学上的不可或缺的重要性。
13、了解到了存储器之间内容的传递,体会到了运用汇编语言,编写数值计算程序方法和步骤。分步了解到了计算机程序在各个存储器,寄存器之间的调度。4改进意见【实验2】1存在的问题利用反汇编指令-u查看物理地址的时候出现了 BYTE PTR,以为是数据无法传递,后来查看资料明白这是强制转换。2实验结论实现了数值的比较REPCNZ SCASE,逐个比较。3收获和体会4改进意见教师评语实验报告样例成绩优辽宁工程技术大学上机实验报告课程名称计算机硬件基础实验题目实验一 汇编语言程序的调试与运行院系软件学院专业软件工程班级网络13-1姓名学号实验日期实验目的1掌握DOS系统功能的调用方法2掌握子程序设计的思想、方法
14、及上机调试过程实验准备1、编程实现屏幕信息具有应答功能2编写子程序程序,完成动画显示功能实验进度本次共有 2 个练习,完成 2 个。实验内容实验内容(续)包含本次实验项目要完成的实验内容、实验原理、实验步骤或过程;对原始实验数据记录要详实。【练习1】完成具有应答功能的在屏幕提示信息,分别为:屏幕显示 “Please input your name:”输入姓名后屏幕显示 “ Welcome!”(1)实现方法数据段中定义2个字符串,分别为“Please input your name:”和 “ Welcome!”;并定义1个数据缓冲区,40个字节,等待姓名的输入。(2)程序代码STACK SEGM
15、ENT STACK DB 64 DUP(?)STACK ENDSDATA SEGMENTBUFF DB 40,?,40 DUP(?) A1 DB 0DH,0AH DB Please input your name: $ A2 DB 0DH,0AH DB Welcome! ,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATASTART: MOV AX, DATA MOV DS,AX MOV DX,OFFSET A1 MOV AH,9 INT 21H MOV DX,OFFSET BUFF MOV AH,0AH INT 21H MOV DX,
16、OFFSET A2 MOV AH,9 INT 21H MOV AH,4CH INT 21HCODE ENDS END START【练习2】 (略)实验分析实验分析(续)日记录实验的调试方法和运行结果;实验数据的分析和处理;实验过程;实验中遇到的问题和解决方案。【练习1】(1)该源程序取名1.ASM,通过汇编、连接后生成可执行文件1.EXE,运行该文件显示的内容如下:(2)调试方法和运行结果利用U命令观察内容如上,表明DS=0B91H;字符串“Please input your name:”的起始地址为DX=002AH;字符串“ Welcome!”的起始地址为DX=0045H,数据缓冲区起始地址
17、为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命令反汇编查看,即可获得相关的段寄存器和其他寄存器的初始值。 对于姓名录入的数据段信息查看不
18、准确。不能准确定位何时数据缓冲区中有数据。解决方案:利用T命令先单步调试,遇到中断命令时改用P命令,录入姓名后即可查看数据缓冲区。【练习2】(略)实验总结总结实验中存在的问题、数据结果、误差分析等;实验得出的主要结论;实验的收获和体会;提出对实验的改进意见等。【实验1】1存在的问题直接运行1.exe文件,当录入姓名“Mary”后窗口即刻消失,无法及时提取显示数据。利用DOS调用MASM5的方法可以全面的展现显示信息;利用汇编集成编辑器可以体现单步调试过程,但窗口限制有时无法全面的展现显示信息,可以采用DOS调用MASM5和汇编集成编辑器联合使用的方法,有利于扬长避短。2实验结论通过对数据段的数据定义,利用DOS系统功能调用方法实现了字符串的输入和输出。3收获和体会学会定义数据段的数据和数据缓冲区,学会查看寄存器和存储器,学会了通过单步调试跟踪程序执行过程。掌握了利用DOS系统功能调用方法实现了字符串的输入和输出。4改进意见【实验2】略教师评语
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1