综合实验1.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:6 大小:90KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

综合实验1.doc

综合实验1.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

辽宁工程技术大学上机实验报告成绩课程名称计算机硬件基础实验题目综合程序设计(一)院系软件学院专业软件工程班级软件10-5班姓名学号实验日期2012-11-1实验目的1.熟练掌握子程序的结构。2.掌握子程序设计的思想、方法及上机调试过程。3.熟练掌握系统功能调用的作用。4.掌握系统功能调用的思想、方法。实验准备1.8086/8088汇编语言指令及伪指令的用法2.子程序设计的思想和方法3.DOS和BIOS中断调用是机器及操作系统提供的中断调用功能4.系统功能调用的步骤:5.DOS利用21H号中断提供给用户近百个系统功能6.BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序实验进度本次共有2个练习,完成2个。实验内容实验内容(续)实验内容(续)包含本次实验项目要完成的实验内容、实验原理、实验步骤或过程;对原始实验数据记录要详实。【练习1】编写主程序调用一个过程,实现将两个非压缩BCD码转换为一个压缩BCD码,并用字符显示功能和字符串显示功能完成在屏幕上显示一个字符串“HelloWorld!”的功能。(1)实现方法数据段中定义2个字节型数,分别为02和01,并定义1个内存单元data3,此外还定义了一个data4,用来将data1和data2的转化。再将一个字符串“HelloWorld!”显示在屏幕上。(2)程序代码datasegmentadb02hbdb01hcdb?ddb10hstringdb"helloworld","$"dataendscodesegmentassumecs:code,ds:datastart:cldmovax,datamovds,axcalllinimovax,segstringmovds,axmovdx,offsetstringmovah,09hint21hliniprocmoval,amuldaddal,bhendpcodeendsendstart【练习2】在内存建立一个表TABLE,其中存放20个字节型无符号数,从键盘输入一个数X(一位数),查找该数X在TABLE中是否存在,若存在,则在RESULT单元存入1,否则存入-1。(1)实现方法数据段中定义一个TABLE表存储20个字节型无符号数,再定义一个RESULT存储单元,将检索的结果1后者-1存入RESULT单元。(2)程序代码DSEGSEGMENTRESULTDB?TABLEDB01H,02H,04H,32H,7EH,21H,05H,28H,35H,90H,9FH,11H,1EH,2DH,3AH,32H,37H,93H,03H,33HDSEGENDSCSEGSEGMENTASSUMEDS:DSEG,CS:CSEGSTART:MOVAX,DSEGMOVDS,AXMOVAH,01HINT21HANDAL,0FHMOVCX,20LEASI,TABLELOP:MOVDL,[SI]INCSISUBDL,ALJZJ1LOOPLOPMOVRESULT,-1JMPEND1J1:MOVRESULT,1JMPEND1END1:MOVAH,4CHINT21HCSEGENDSENDSTART实验分析实验分析(续)记录实验的调试方法和运行结果;实验数据(程序)的分析和处理;实验过程;实验中遇到的问题和解决方案。【练习1】(1)该源程序取名1.asm,通过汇编、连接后生成可执行文件1.EXE,在汇编集成编译器中进行保存并编译,链接目标文件,调试运行。(2)调试方法和运行结果利用U命令观察内容如上,表明DS=1802H;字符串的存储地址是0004H,转换完的压缩BCD码存放在0001H,观察数据段如下:21H之后进行-P操作使helloworld显示在屏幕上。再查看内存如下:(3)实验问题和解决方案当中断命令21H出现后不能再继续执行T命令。解决方案:执行P命令可以继续未完成的程序。【练习2】(1)该源程序取名2.asm,通过汇编、连接后生成可执行文件1.EXE,在汇编集成编译器中进行保存并编译,链接目标文件,调试运行。(2)调试方法和运行结果利用U命令观察内容如上,表明DS=184BH,进行检索后结果1或-1存储在0000H单元,观察数据段如下: