计算机硬件基础综合实验设计实验报告.doc
辽宁工程技术大学上机实验报告课程名称计算机硬件基础实验题目综合程序设计(一)院系软件学院专业软件工程班级1004班姓名学号实验日期实验目的1.熟练掌握子程序的结构。2.掌握子程序设计的思想、方法及上机调试过程。3.熟练掌握系统功能调用的作用。4.掌握系统功能调用的思想、方法。实验准备1编写子程序实现将两个非压缩BCD码转换为一个压缩BCD码,并完成在屏幕上显示“HELLOWORLD”的功能2编程实现在内存中建立存有20个无符号数的表,并检索某无符号数是否在该表中实验进度本次共有2个练习,完成2个。实验内容【练习1】编写主程序调用一个过程,实现将两个非压缩BCD码转换为一个压缩BCD码,并用字符显示功能和字符串显示功能完成在屏幕上显示一个字符串“HELLOWORLD”的功能。(1)实现方法利用字扩展功能以及PTR语句将两个非压缩的BCD码转化为一个压缩的BCD码,并利用DOS系统的字符串显示功能显示“HELLOWORLD”。(2)程序代码DATASEGMENTADB04HBDB05HCDBC1DWDDB10HSTRINGDB“HELLOWORLD“,““DATAENDS成绩课程实验基本教学文件规范实验报告模板CODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXCALLHMOVAX,SEGSTRINGMOVDS,AXMOVDX,OFFSETSTRINGMOVAH,09HINT21HMOVAH,04HINT21HHPROCMOVAL,AMULDMOVBX,WORDPTRBADDAX,BXMOVC1,AXMOVAL,BYTEPTRC1MOVC,ALRETHENDPCODEENDSENDSTART【练习2】在内存建立一个表TABLE,其中存放20个字节型无符号数,从键盘输入一个数X(一位数),查找该数X在TABLE中是否存在,若存在,则在RESULT单元存入1,否则存入1。(1)实现方法在内存单元中存入数据,并且设置一个RESULT单元来存放结果。然后利用循环来检查是否存在键盘输入的数。(2)程序代码DATASSEGMENTTABLEDB1,2,3,5,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20RESULTDB0DATASENDSCODESSEGMENTASSUMECSCODES,DSDATASSTARTMOVAX,DATASMOVDS,AXMOVES,AXMOVDI,OFFSETTABLECLDMOVAH,01HINT21HMOVCX,20SUBAL,48REPNESCASBCMPCX,0JGLMOVRESULT,1JMPLASTLMOVRESULT,1LASTMOVAH,4CHINT21HCODESENDSENDSTART实验分析日【练习1】调试方法和运行结果课程实验基本教学文件规范实验报告模板实验问题和解决方案“HELLOWORLD“后面忘了写““导致出错,以及MUL指令隐含的乘积寄存器不熟悉也导致出问题。【练习2】调试方法和运行结果实验问题和解决方案程序执行时必须在G指令后再输入一个需要从键盘输入以查找是否存在于TABLE中的数之后程序才能正常运行。实验总结【实验1】1.存在的问题忘记加上“”字符导致“HELLOWORLD”在屏幕上的输出全是乱码,应该在“HELLOWORLD”后面加上“”字符作为结束标志字符。2.实验结论通过对数据段的数据定义,利用子程序调用实现了两个非压缩BCD码转换为一个压缩BCD码,并用DOS系统功能中的字符显示功能在屏幕上显示一个字符串。3.收获和体会课程实验基本教学文件规范实验报告模板学会定义数据段的数据。掌握了利用子程序调用方法实现了两个非压缩BCD码转换为一个压缩BCD码,并用DOS系统功能中的字符显示功能在屏幕上显示一个字符串。【实验2】1.存在的问题从键盘输入的数在内存中存放的是ASCII码的形式,因此在进行比较之前将其转化为普通的数字。。2.实验结论通过对数据段的数据定义,利用比较运算符的使用和转跳指令的使用实现了程序的转跳。3.收获和体会学会定义数据段的数据和数据缓冲区,学会查看寄存器和存储器的内容,掌握了分支语句的用法并利用DOS系统功能调用方法在内存中创建一个表,从键盘输入一个数检查表中是否存在如果存在RESULT单元里放入1否为1教师评语教案书写规范教案样例实验报告样例辽宁工程技术大学上机实验报告课程名称计算机硬件基础实验题目综合程序设计(二)院系软件学院专业软件工程班级姓名学号实验日期实验目的1.掌握DOS系统功能的调用方法2.掌握子程序设计的思想、方法及上机调试过程实验准备1、编程实现屏幕信息具有应答功能2.编写子程序程序,完成动画显示功能实验进度本次共有2个练习,完成2个。实验内容包含本次实验项目要完成的实验内容、实验原理、实验步骤或过程;对原始实验数据记录要详实。【练习1】完成具有应答功能的在屏幕提示信息,分别为屏幕显示“PLEASEYOURNAME”输入姓名后屏幕显示“WELCOME”(1)实现方法数据段中定义2个字符串,分别为“PLEASEYOURNAME”和“WELCOME”;并定义1个数据缓冲区,40个字节,等待姓名的输入。(2)程序代码STACKSEGMENTSTACKDB64DUPSTACKENDSDATASEGMENTBUFFDB40,,40DUP成绩优基本教学文件体例要求实验内容(续)A1DB0DH,0AHDBPLEASEYOURNAMEA2DB0DH,0AHDBWELCOME,DATAENDSCODESEGMENTASSUMECSCODE,SSSTACK,DSDATASTARTMOVAX,DATAMOVDS,AXMOVDX,OFFSETA1MOVAH,9INT21HMOVDX,OFFSETBUFFMOVAH,0AHINT21HMOVDX,OFFSETA2MOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART【练习2】(略)辽宁工程技术大学软件学院基本教学文件规范实验分析实验分析续记录实验的调试方法和运行结果;实验数据的分析和处理;实验过程;实验中遇到的问题和解决方案。【练习1】(1)该源程序取名1ASM,通过汇编、连接后生成可执行文件1,运行该文件显示的内容如下(2)调试方法和运行结果利用U命令观察内容如上,表明DS0B91H;字符串“PLEASEYOURNAME”的起始地址为DX002AH;字符串“WELCOME”的起始地址为DX0045H,数据缓冲区起始地址为DX0000H。观察数据段如下以上数据表明没有通过键盘录入姓名“MARY”前,数据缓冲区0B91H0000H连续40个字节为空。运行程序后再观察该位置如下基本教学文件体例要求日利用P命令,录入“MARY”后,数据段0B91H0000H连续7个字节中,分别存放28H(40个字符)、4H(实际录入字符)、4DHM字符、61HA字符、72HR字符、79HY字符、0DH回车。(3)实验问题和解决方案①一开始无法找到数据段DS的值,因此无法查看数据段相关数据。解决方案运行1文件后