1、太原理工硬件实验报告本科实验报告课程名称:计算机硬件技术基础实验项目:顺序程序实验实验地点:专业班级:学号:学生姓名:指导教师:2015年5月5日太原理工大学学生实验报告学院名称专业班级学号学生姓名实验日期成绩课程名称计算机硬件技术基础实验题目顺序程序实验一、 实验目的和要求1通过宏汇编(MASM)上机操作,使学生掌握汇编语言源程序的编辑、汇编、连接和执行的完整过程。2掌握汇编过程中各命令的作用及使用方法,了解汇编和连接的过程。3掌握8086/8088指令系统中已学指令的书写格式、功能及其作用。4结合实例程序掌握汇编语言程序上机过程,熟悉DEBUG程序中常用命令的使用。要求预习汇编程序上机操作
2、的全过程。二、实验内容和原理1.编写程序计算Z=(A+B)-(C-D),其中A=30H,B=20H,C=10H,D=05H均为字节单元无符号数。2.设W、X、Y、Z、V均为16位字单元有符号数,编程计算W=(X*Y-50)/Z,将结果存入变量W,而余数存入变量W+2中。(X为非零数,并假设X、Y、Z的值分别为20、10、15)三、主要仪器设备电脑,汇编语言4、操作方法与实验步骤实验一:datasegmentAdb30hBdb20hCdb10hDdb05hZdb?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axxor
3、ax,axmoval,Aaddal,Bsubal,Caddal,DmovZ,almovax,4chint21hcodeendsendstart实验二:datasegmentXdw20Ydw10Zdw15Wdw?,?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axxorax,axmovax,XmulYsubax,50divZmovW,axmovax,4chint21hcodeendsendstart五、实验数据记录和处理六、实验结果与分析第一个实验结果为AX里的值0045。第二个实验结果为AX里的值000A,同时把值
4、放入W中,余数在W+2中。七、讨论、心得这个实验帮我熟悉了汇编语言如何使用,虽然参考了书上的程序,但是我也从中学到了一些东西,懂得了自己去调试程序。实验地点指导教师太原理工大学学生实验报告学院名称专业班级学号学生姓名实验日期成绩课程名称计算机硬件技术基础实验题目分支和循环程序实验二、 实验目的和要求1通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。2掌握分支程序的结构、单分支和多分支程序的设计方法。3了解循环程序的基本结构和控制循环的方法。二、实验内容和原理要求学生按教师指定题目进行汇编语言程序设计,并上机调试,以实现较复杂的程序设计。1.已知X、Y
5、、Z、MAX为16位的带符号数,求三个数中最大值,结果存入MAX单元。2.求10个学生成绩中的最高成绩,结果存入MAX字节单元中,已知成绩为字节型。三、主要仪器设备电脑,汇编语言4、操作方法与实验步骤实验一:stacksegmentstackdb50DUP(0)stackendsdatasegmentnumdb2,5,6maxdb?dataendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,axxorax,axmoval,numcmpal,num1jgenext1moval,num1next1:cmpal,num
6、2jgenext2moval,num2next2:movmax,almovax,4c00hint21hcodeendsendstart实验一:stacksegmentstackdb50DUP(0)stackendsdatasegmentnumdb11,99,22,88,77,66,55,44,33,0maxdb?dataendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,axmovsi,offsetnumxorax,axmovcx,10moval,siAGAIN:cmpal,sijgenextmoval,sine
7、xt:INCsiloopAGAINmovmax,almovax,4c00hint21hcodeendsendstart5、实验数据记录和处理第一张图为实验1第二张图为实验2六、实验结果与分析第一个实验三个数字为2,5,6,最后结果为AX里0006。第二个实验十个数字为11,99,22,88,77,66,55,44,33,0,最后结果为AX里0063(16进制的99)。七、讨论、心得这个实验还是参考了书上的例子,但是相对上一个实验添加了更多自己的东西,第二个实验比第一个要多考虑到循环的使用,保证AX里放的一直是最大值,则经过10次循环后可得出成绩的最大值。实验地点指导教师太原理工大学学生实验报告
8、学院名称专业班级学号学生姓名实验日期成绩课程名称计算机硬件技术基础实验题目综合程序设计实验一、实验目的和要求1通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。2掌握分支程序的结构、单分支和多分支程序的设计方法。3了解循环程序的基本结构和控制循环的方法。4掌握通过DOS中断调用使用键盘和显示器的方法。二、实验内容和原理编写一个汇编程序,要求对键盘输入的大写字母用小写字母显示出来,键盘输入的小写字母用大写字母显示出来。三、主要仪器设备汇编语言,电脑。4、操作方法与实验步骤datasegmentsinputdbstart:$dataendscodesegm
9、entassumecs:code,ds:datastart:movax,data;movds,ax;若有数据段前两行需加上movah,9leadx,sinputint21hmovah,1int21hcmpal,96jgenext;大于等于addal,32jmpdonenext:subal,32done:movdl,almovah,2int21hmovah,4chint21hcodeendsendstart五、实验数据记录和处理六、实验结果与分析输入大写字母C时变为小写字母c,输入小写字母c时变成大写字母C。七、讨论、心得这个实验我依旧想参照书上的例子,但是不知为何却跳过了输入字母的部分,于是我
10、自己写了代码,经过努力终于能将输入大写字母时变为小写字母,输入小写字母时变成大写字母。实验地点指导教师太原理工大学学生实验报告学院名称专业班级学号学生姓名实验日期成绩课程名称计算机硬件技术基础实验题目综合程序设计实验一、实验目的和要求1通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。2掌握分支程序的结构、单分支和多分支程序的设计方法。3了解循环程序的基本结构和控制循环的方法。4掌握通过DOS中断调用使用键盘和显示器的方法。二、实验内容和原理编写一个汇编程序,使得从键盘上输入十个以内的字符,以输入空格结束,然后按数字、字母和其它符号三类统计各自的个数,
11、在屏幕上依次显示出统计结果。完善下面的原程序CODESEGMENTMAINPROCFARASSUMECS:CODESTART:PUSHDSSUBAX,AXPUSHAXMOVBH,0;统计数字的个数MOVBL,0;统计字母的个数MOVDH,0;统计其它字符的个数MOVCX,10AA1:CMPCX,0JZSTOP;输入字符超过10个MOVAH,1INT21H;从键盘接收一个字符CMPAL,20HJZSTOPCMPAL,0JBCC1CMPAL,9JACC1INCBH自行写出比较是否为字母的情况CC2:INCDHDECCXSTOP:MOVDL,BHMOVAH,02INT21H自行写出输出字母的个数自行
12、写出输出其它字符的个数RETMainendpCodeendsEnd三、主要仪器设备汇编语言,电脑。4、操作方法与实验步骤STACKSEGMENTSTACKDB200DUP(0)STACKENDSDATASEGMENTXDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXSUBAX,AXMOVBX,0MOVDX,0MOVCX,10AA1:CMPCX,0JZSTOP;CX里值为空则停止循环MOVAH,1INT21H;从键盘接受一个字符CMPAL,20HJZSTOP;输入空格则跳出CMPAL,0JBC
13、C2;9则进入下一层判断INCBH;是数字JMPNEXT1CC1:CMPAL,AJBCC2;A记为特殊字符CMPAL,ZJBNEXT;Z记为字母CMPAL,aJBCC2;z记为特殊字符NEXT:INCBL;是字母JMPNEXT1CC2:INCDH;是特殊字符NEXT1:LOOPAA1;判断下一个字符STOP:MOVAH,2MOVDL,BHADDDL,XINT21H;输出数字字数MOVAH,2MOVDL,BLADDDL,XINT21H;输出字母字数MOVAH,2MOVDL,DHADDDL,XINT21H;输出特殊字符MOVAX,4C00HINT21HCODEENDSENDSTART五、实验数据记录和处理六、实验结果与分析输入字符为ab123=然后输入空格,得出数字数为3字母数为2特殊字符为1。七、讨论、心得试验中用到了多次条件判断JB是小于JA是大于,根据ASCLL码值表,来对输入的字符进行判断是哪个部分加1,输入空格结束,最后输出数字。一开始让我觉得不解的是,若在STOP里去掉ADDDL,X,输出的数字是乱码,加上之后却输出了正常的数字,最后经过查阅,直接输出数字的话,机器会认为是ASCLL码值,而不是输出数字,所以加个0让其变为数字输出,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1