您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 建筑材料 > 南昌大学微机原理与接口技术实验报告
实验报告实验课程:PC机原理与接口技术姓名:学号:专业班级:2016年6月目录实验一熟悉DOS环境和汇编软件的使用实验二DEBUG的使用实验三顺序结构程序设计实验实验四选择结构程序设计实验实验五循环结构程序设计实验实验六综合程序设计实验实验一:熟悉DOS环境和汇编软件的使用一、实验要求:必做二、实验类型:验证三、实验学时:2四、实验地点:机房五、实验目的:1、熟悉DOS环境和DOS基本操作。2、掌握汇编程序的使用方法:MASM,LINK,EDIT(TC),DEBUG六、实验内容:(一)、熟悉DOS环境1、MS-DOS的启动(二)、熟悉一些常用的DOS命令1、更改盘符。2、建立子目录(文件夹)。3、显示/更改当前目录。4、显示磁盘目录的内容。(三)、熟悉调试程序DEBUG.EXE的应用,练习DEBUG的常用命令1.汇编语言源程序的建立程序要求是:在屏幕上显示“Hello,world!”。设定源程序的文件名为hello.asm。在DOS状态下键入以下命令:tc输入以下源代码并保存DATASEGMENTBUFDB'Hello,world!$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART2.将源程序文件汇编成目标程序文件masmhello.asmMASM宏汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。(2)若源程序经汇编后没有语法错误,则产生扩展名为.OBJ的目标程序文件。(3)若源程序中使用了宏指令,则汇编程序将展开宏指令。源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编。3.用连接程序生成可执行程序文件经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。linkhello.obj如果汇编过程中有错误产生,则汇编程序将显示出错行号和错误信息。最后显示的部分是警告错误及严重错误数。当程序中没有定义堆栈段或虽然定义但不符合要求时,LINK在最后一行会给出类似“LINK:warningL4021:nostacksegment”的警告信息,表示用户程序没有定义堆栈段。该警告信息不影响可执行程序的生成和正常运行,因为若用户程序没有定义堆栈段,程序运行时会自动使用系统提供的默认堆栈。4.程序的执行当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。hello.exe如下图所示。如果使用测试数据均可运行并能看到正确结果,则说明该程序编写正确。但若得不到正确结果或结果无法看到(没有结果输出的情况下),则需要使用调试工具来调试程序了。七、写出实验小结,内容包括实验心得(收获)、不足之处和今后应注意的问题。由于是第一次实验,对整个编程环境和实验内容都不是很熟悉,但经过这次实验,对这些都有一些大致的了解,特别是学会了如何调试程序,也对从汇编课上学习到的理论知识有了更深刻的认识,经过自己动手编程,对汇编语言更加熟悉,通过将理论用于实践,也对学习汇编知识有很大帮助。实验二:DEBUG的使用一、实验要求:必做二、实验类型:验证三、实验学时:2四、实验地点:机房五、实验目的:1、熟悉DEBUG基本操作。六、实验内容:1、DEBUG程序的启动在DOS环境下,键入debug2、DEBUG的主要命令(1)汇编命令A(2)反汇编命令U(3)运行命令G(4)追踪命令T(5)显示内存单元内容的命令D(6)修改内存单元内容的命令E略(7)检查和修改寄存器内容的命令R(8)命名命令N略(9)装入命令L略(10)写命令W略(11)退出DEBUG命令Q略七、实验小结及心得体会通过本次实验,了解DEBUG调试程序常用命令的基本格式、主要功能和使用方法。熟悉进入或退出DEBUG调试程序运行界面的步骤。掌握用DEBUG调试程序进行程序编辑、调试、运行、结果检查的基本方法。进一步汇编语言上机环境及基本操作。感觉它比其他高级语言确实要复杂,但是能更一步体会计算机是如何操作的!通过对debug的运用,我们了解到了很多关于电脑方面的知识,也知道了debug的强大功能。我们应多加练习,以便熟悉的掌握这方面的知识。实验三顺序结构程序设计实验一、实验要求:必做二、实验类型:验证三、实验学时:2四、实验地点:机房五、实验目的:1、掌握顺序程序的设计方法。六、实验内容:1.编写程序实现:从键盘输入两个1位的十进制数,计算这两个数之和,并将结果在屏幕上显示出来。{提示:数据段的格式可定义为:dataSEGMENTinfor1DB'Pleaseinputthefirstdata(10):$'infor2DB0ah,0dh,'pleaseinputtheseconddata(10):$'infor3DB0ah,0dh,'theresultis:$'dataENDS}codesegmentassumecs:codestart:movcx,2movbl,0next:movah,1int21hsubal,30hjcnextcmpal,9hjanextaddal,bldaamovbl,almovdl,13movah,2int21hmovdl,10int21hloopnextmovcl,4movdh,2next1:rolbl,clmovdl,blanddl,0fhadddl,30hmovah,2int21hdecdhjnznext1movah,1int21hmovah,4chint21hcodeendsendstart2.编写程序实现:从键盘输入0~9中任意一个自然数,将其平方值在屏幕上显示出来(要求使用查表法)。输出INFOR1信息(09H)接收第一个输入数(01H)接收第一个输入数-30H输出INFOR2信息(09H)接收第二个输入数(01H)接收第二个输入数-30H输出INFOR3信息(09H)俩加数相加并修正和的十位数+30H后输出(02H)和的个位数+30H后输出(02H)退出DATASSEGMENTTABLEDB00H,01H,04H,09H,16H,25H,36H,49H,64H,81HDATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAH,07HINT21HANDAL,0FHMOVDL,ALXORDH,DHMOVBX,OFFSETTABLEADDBX,DXMOVAL,[BX]MOVCL,04HMOVBL,ALSHRAL,CLMOVDL,ALADDDL,30HMOVAH,02HINT21HANDBL,0FHMOVDL,BLADDDL,30HMOVAH,02HINT21HMOVAH,4CHINT21HCODESENDSENDSTART七、实验心得(1)了解了编制汇编语言程序的步骤:分析题意,确定算法;根据算法画出程序框图;根据框图编写程序;上机调试程序。(2)理解了调试过程的反复性,发生错误时,一步步往回验证,直到找到错误,修改后,继续重新执行。(3)通过单步执行命令t跟踪调试,提高了对寄存器根据指令变化的理解;同时对debug命令格式、功能有了基础的了解。实验四选择结构程序设计实验一、实验目的:1.掌握分支程序的设计方法。2.了解小写和大写字母的ASCII码表示及其转换方法,了解数字及其他字符的ASCII码表示方法。二、实验仪器:PC机一台三、实验内容1、从键盘输入一字符,判断该字符是小写字母、大写字母、数字还是其它字符。若输入为小写字母,则显示“YouInputaLowercaseLetter!”;若输入为大写字母,则显示“YouInputaUppercaseLetter!”;若输入为数字,则显示“YouInputaDigit!”;若输入为其它字符,则显示“YouInputOtherLetter!”。2、在屏幕上显示“Areyoureallywanttoexit?”,然后从键盘输入一字符,若输入“Y”或“y”,则显示“Thankyouforyourusing!”;若输入“N”或“n”,则显示“Let’scontinue!”;若输入其它字符,则显示“Youpressanerrorkey!”后程序结束。四、实验程序与流程图实验步骤(1)完成汇编语言源程序的编辑和连接过程。(2)利用DEBUG进行程序调试和运行。实验程序(1):dsegsegmentmsglfdb0ah,0dh,'$'msgupdb'YouInputaUppercaseLetter!',0ah,0dh,'$'msglodb'YouInputaLowercaseLetter!',0ah,0dh,'$'msgnumdb'YouInputaDigit!',0ah,0dh,'$'msgotdb'YouInputOtherLetter!',0ah,0dh,'$'dsegendscsegsegmentassumeds:dseg,cs:csegbegin:movax,dsegmovds,axmovah,1int21hmovbl,alleadx,msglfmovah,9int21hmoval,blcmpal,'0'jlOtherCcmpal,'9'jgNotNumleadx,msgnumjmpOutputNotNum:cmpal,'A'jlOtherCcmpal,'Z'jgNotUpleadx,msgupjmpOutputNotUp:cmpal,'a'jlOtherCcmpal,'z'jgOtherCleadx,msglojmpOutputOtherC:leadx,msgotOutput:movah,9int21hmovah,4chint21hcsegendsendbegin实验程序(2)DATASEGMENTINFOR1DB0AH,0DH,Areyoureallywanttoexit?:$INFOR2DB0AH,0DH,Thankyouforyourusing!$INFOR3DB0AH,0DH,Let'scontinue!$INFOR4DB0AH,0DH,Youpressanerrorkey!$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETINFOR1开始显示提示信息“pleasepressanykeytoinputaletter及功能号为1的单字符序列MOVAH,09HINT21HMOVAH,01HINT21HCMPAL,'Y'JEYESCMPAL,'N'JENOCMPAL,'y'JEYESCMPAL,'n'JENOJMPOTHEYES:MOVDX,OFFSETINFOR2MOVAH,09HINT21HJMPPENDNO:MOVDX,OFFSETINFOR3MOVAH,09HINT21HJMPPENDOTHER:MOVDX,OFFSETINFOR4MOVAH,09HINT21HJMPPENDPEND:MOVAH,4CHINT21HCODEENDSENDSTART开始宏定义显示“请输入响铃次数:”结束N0?输入一个数nN--输出响铃1次是否实验五循环结构程序设计实验一、实验要求:必做二、实验类型:验证三、实验学时:2四、实验地点:机房五、实验目的:1、掌握循环程序的设计方法。2、掌握比较指令、转移指令和循环指令的使用方法。3、进一步掌握调试工具的使用方法。六、实验内容1、试编写一程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07H)。提示:用2号功能号输出07H就会响铃一次。七、实验报告要求1、画出流程图,编写源程序,调试成功。2、写出实验小结,内容包括实验心得(收获)、不足之处和今后应注意的问题。DA
本文标题:南昌大学微机原理与接口技术实验报告
链接地址:https://www.777doc.com/doc-5521730 .html