计算机应用试验报告_第1页
计算机应用试验报告_第2页
计算机应用试验报告_第3页
计算机应用试验报告_第4页
计算机应用试验报告_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一乘法运算实验、实验目的:1、了解调试程序DEBUG的常用命令和功能。2、掌握多字节乘法运算程序的编写方法。3、学会程序调试方法。、实验原理厅P命令功能0?显示Debug命令列表。?o?1?a汇编8086/8087/8088记忆码。?2?c比较内存的两个部分。?3?d显示部分内存的内容。?4?e从指定地址开始,将数据输入到内存。?5?f使用指定值填充一段内存。?6?g运行在内存中的可执行文件。?7?h执行十六进制运算。?8?i显示来自特定端口的1字节值。?9?l将文件或磁盘扇区内容加载到内存。?10?m复制内存块中的内容11?/n为1或w命令指定文件,或者指定正在测试的文件的参数。12?o

2、向输出端口发送1个字节的值。13?P执行循环、重复的字符串指令、软件中断或子例程。14?q停止Debug会话。15?r显示或改变一个或多个寄存器。16?s在部分内存中搜索一个或多个字节值的模式。17?t执一条指令,然后显示所有寄存器的内容、所有标志的状态和Debug下一步要执行的指令的解码形式。18?u反汇编字节并显示相应的原语句。19?w将被测试文件写入磁盘。20?xa分配扩展内存。21?xd释放扩展内存。22?xm映射扩展内存页。23?xs显示扩展内存的状态。、实验内容:将两个无符号数相乘,将结果数存入规定地址被乘数和乘数的存放地址及数据如下:名称地址数据被乘数2000:00002000:

3、00012A30乘数2000:00022000:0001151B乘积2000:00042000:0007注意:数据低位在前,高位在后。四、实验报告内容:1、实验用源程序:开机选择开始 t 运行 t输入comma ndDebug源程序:D 2000:0000E 2000:0000 2A 30 15 1BD 2000:0000A回车输入debug ”调出debug应用程序;查看部分内存内容;写入数据;查看输入后的数据;写程序MOV AX,2000MOV DS,AXMOV AX,0000MOV BX,0002MUL BXMOV 0004,AXMOV 0007,DXINT 20HCtrl+MGD 20

4、00:0000;让AX乘以DX,结果存入DX:AX;正常中断程序;退出编程,由键盘输入;运行程序;查看程序运行结果2、实验结果分析输出结果显示为72-6118-05结果正确。实验中遇到的问题,在debug里输入程序要细心,如果输入有误为保证结果的正确应重新打开debug程序。实验中发现输入的大小写对程序的结果没有影响。实验二除法运算实验实验目的:了解调试程序DEBUG的常用命令和功能。2、掌握多字节除法运算程序的编写方法。3、学会程序调试方法。实验内容:将两个无符号数相除,将结果数存入规定地址被除数和除数的存放地址及数据如下:名称地址被除数2000:0010?00132A3B4C5D除数200

5、0:0014?00157c5D商2000:0016?0017余数2000:0018?0019数据低位在前,高位在后。、实验报告内容:实验用源程序按照实验一中的方法调出debug:Debug源程序:D2000:0000,查看部分内存内容E2000:00005D7c5D4c3B2A;写入数据D2000:0000;查看输入后的数据MOVAX,2A3BMOVDX,4c5DMOVBX,7C5DMOVAX,0010MOVDX,0012MOVBX,0014DIV BX到 DX;被除数DX:AX除BX,商存入AX,余数存MOV0016,AXMOV0018,DXINT20H;正常中断程序Ctrl+MGD2000

6、:0000;退出编程,由键盘输入;运行程序;查看程序运行结果实验结果分析实验正确结果:7D-FF9E-11实验中应注意的问题,在输入数值时应高低位颠倒输入,程序运算时是先进后出。遇到的问题:当输入正序时得到的结果是EE-56E7-6F(为错误结果)实验三数据转换实验实验目的:1进一步掌握DEBUG使用方法。2、掌握数制转换程序的编写方法。3、学会调试循环程序和子程序方法实验内容:将单元2000:0000?003中的8位十进制数35,26,38,74(数据高位在前,低位在后),转换成二进制数,存入单元2000:0004?0007中。在编写程序时,要充分利用循环程序和调用子程序的方法来简化程序设计

7、,并注意循环的地址及子程序入口地址的设置方法。实验报告内容:1实验用源程序;堆栈段;只有128个字节;数据段STACKSSEGMENTSTACKDW128DUPSTACKSENDSDATASSEGMENT TOC o 1-5 h z D1DB10;D2DB;D3DB38H;D4DB74HDATAS ENDSCODES SEGMENTASSUMESTART: MOVMOVCS:CODES,DS:DATASAX,DATASDS,AX;代码段;初始化MOVAX,2000HMOVDS,AXMOVAX,2635HMOVMOVMOVMOVMOVMOVMOVMOVDO1MACROMOVMOVMOVNEXT:

8、MOVSHRMULPUSHMOVANDPOPXORXORADDMOVMOVINCLOOPENDMDO1DO1DO1DO1DI,0000HDI,AXDI,0002HAX,7438HDI,AXBL,1OBX,0010BX,ALADD1,ADD2SI,CXDI,0000HCX,4AL,DIAL,4BLAXAL,DIAL,0FHDXAH,AHDH,DHAL,DLSI,CL+4DI+4,ALDINEXT0H4H567;退出程序MOVAX,4C00HINT21HCODESENDSENDSTART实验四显示字符串实验实验目的:1、掌握宏汇编语言源程序的编辑方法。2、学会用MASM及LINK程序将源程序文件转

9、换成可执行文件的方法。3、学会调用DOS软中断功能来显示字符串的方法。实验步骤:利用全屏幕编辑程序来编辑源程序,文件扩展名为ASM,操作如下:ANE盘号:文件名.ASM利用MASM程序将源程序文件汇编成目标文件,目标文件扩展名为OBJ,操作如下:AMASM盘号:文件名.ASM盘号:文件名.OBJ在编辑中发生错误,要用NE程序来修改源程序文件。用LINK程序将目标文件转换成可执行文件,可执行文件扩展名为EXE,ALINK盘号:文件名.OBJ盘号:文件名.EXE操作如下:4、在DOS环境下执行可执行文件实验内容:按照宏汇编语言源程序格式的要求,编写一个文件,显示如下字符串:Ilikemicroco

10、mputerverymuch.四、实验报告内容:实验用源程序STACKSSEGMENTSTACK;堆栈段DW128DUP;只有128个字节数据段like microcomputer very much.,$STACKSENDSDATASSEGMENTMSG1DBDATASENDSCODES SECASSUMESTART: MOV TOC o 1-5 h z CS:CODES,DS:DATAS段AX,DATAS;初始化MOVDS,AXMOVDX,OFFSETMSG1MOVAH,9INT21HMOVAX,4C00H;退出程序INT21HCODESENDSENDSTART实验结果分析实验显示出了“I

11、likemicrocomputerverymuch.实验目的:1、进一步掌握字符串的显示方法。2、掌握键盘信号的输入和分析方法3、进一步熟悉源程序的编写方法。实验内容:先使计算机提问下列问题:Doyoulikethislesson(Y/N)?如果用户回答N,计算机回答:Youshouldchangeyourinterest.如果用户回答Y,计算机回答:Youaregoodstudent.实验报告:1、实验用源程序:STACKS SEGMENT STACK雎栈段DW128 DUP(?);注意这里只有128个字节STACKSENDSDATASSEGMENT擞据段MSG1DBDo you like

12、this lesso n( Y/N)?,$MSG2DB10,You should cha nge your in terest.,$MSG3DB10,You are good stude nt.,$DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATAS;初始化MOVDS,AX;请在这里添加您的代码MOVAH,9INT21HMOVAH,1 TOC o 1-5 h z INT21HCMPAL,YJZY1CMPAL,yJZY1CMPJZCMPJZY1: MOVMOVINTJMPY2: MOVMOVINTD

13、ONE:MOVINTCODES ENDSENDAL,NY2AL,nY2DX,OFFSETMSG3AH,921HDONEDX,OFFSETMSG2AH,921HAX,4C00H;退出程序21HSTART实验六数据排序实验实验目的:1、掌握比较数据大小的方法。2、掌握由大到小排列数据的方法。3、掌握显示某一数据区的方法。实验内容:先在数据区输入十个随机排列的数据,然后用气泡排序法把数据由大到小排列好,并显示在屏幕上。然后改变数据的内容,再用同样的程序来排列,并显示出结果。第一次排列的数据为:41H,70H,03H,53H,88H,16H,20H,3FH,74H,8EH第二次排列的数据为:10H,7

14、8H,23H,04H,1AH,7AH,35H,4BH,9FH,0BH显示结果:班级,学号,名字排序好的数据。实验报告内容:实验用源程序STACKSSEGMENTSTACK雎栈段DW128DUPSTACKSDATASENDSSEGMENTMSG1DB;数据段Doyoulikethislesson(Y/N)?,$MSG2DB10,Youshouldchangeyourinterest.,$MSG3DB10,Youaregoodstudent.,$ASSUMESTART:MOVMOVDATASENDSCODESSEGMENT;代码段CS:CODES,DS:DATAS,SS:STACKSAX,DATA

15、S;初始化DS,AXMOVDX,OFFSETMSG1MOVAH,9 TOC o 1-5 h z INT21HMOVAH,1INT21HCMPAL,YJZY1CMPAL,yJZY1CMPAL,NJZY2CMPAL,nJZY2Y1:MOVDX,OFFSETMSG3MOVAH,9INT21HJMPDONEY2:MOVDX,OFFSETMSG2MOVAH,9INT21HDONE:MOVAX,4C00H;退出程序INT21HCODESENDSENDSTART实验目的:、掌握显示菜单的方法。学会分析键盘输入数据的方法。掌握编写宏指令和宏调用的方法。实验步骤:先在屏幕上显示下列菜单Whatitemdoyou

16、wanttoknow?MynameMyageMyinterestingworkMyfamilyPleaseinputthenumber:然后根据输入的数据,分别回答你的姓名,年龄,感兴趣的工作和家庭成员,具体回答内容由同学自己拟定。在程序中尽量采用宏指令,并注意程序设计的技巧。实验报告内容:1、实验用源程序STACKSSEGMENTSTACK;堆栈段DW128DUPSTACKSENDSDATASSEGMENT;数据段M01DBWhatitemdoyouwanttoknow?,$M02DB10,28DUP(8),1.Myname,$M03DB10,28DUP(8),2.Myage,$M04DB1

17、0,28DUP(8),3.Myinterestingwork,$M05DB10,28DUP(8),4.Myfamily,$M06DB10,28DUP(8),Pleaseinputthenumber:,$M07DB10,28DUP(8),LiJuan,$M08DB10,28DUP(8),22,$M09DB10,28DUP(8),playballs.,$M10DB10,28DUP(8),Myparentsandme.,$DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:PRTIPTIFGOY1:Y2:Y3:Y4:DONE

18、:CODES实验目的:MOVAXQATAS初始化 TOC o 1-5 h z MOVDS,AXMACROXMOVDX,OFFSETXMOVAH,9INT21HENDMMACROMOVAH,1INT21HENDMMACROX,YCMPAL,XEZNdmyPRTM01PRTM02PRTM03PRTM04PRTM05PRTM06IPTIFGO1,Y1IFGO2,Y2IFGO3,Y3IFGO4,Y4 TOC o 1-5 h z PRTM07JMPDONEPRTM08JMPDONEPRTM09JMPDONEPRTM10MOVAX,4C00H;退出程序INT21HENDSENDSTART实验八时钟显示实验

19、1、了解计算机中时钟数据的存取方法2、掌握时钟显示的编写方法3、进一步掌握BIOS和DOS中子程序的调用方法实验内容:DOS在计算机屏幕的右上角显示时钟值,直到按下一个键再返回实验报告内容:1、实验用源程序:DATASEGMENTWHOURDB0WMINDB0WSEC DB0WMSECDB0OLD1CHDD0SIGNALDB0COUNTDW;秒表的时、分、秒、毫秒CHOUR DB0CMIN DB0CSEC DB;闹钟的时、分、秒SPACE DB2000 DUP ()PATTERN DBDBUFFER DBDBUFFER1 DBDBUFFER2 DB8 DUP (:),12 DUP ()20 D

20、UP ()11 DUP (:),15 DUP ()HR A6DUP(),0C9H,26DUP(0CDH),0BBH,6DUP()DB6DUP(),0BAH,26DUP(20H),0BAH,6DUP()DB6DUP(),0C8H,26DUP(0CDH),0BCH,6DUP()EXIT:$,ODH,OAH,$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSPUSHA1MACRO TOC o 1-5 h z PUSHDSPUSHAXPUSHBXPUSHCXPUSHDXENDMPOPA1MACROPOPDXPOPCXPOPBXPOPA

21、XPOPDSENDM;图形化界面设计START:MOVAX,DATA TOC o 1-5 h z MOVDS,AXMOVES,AXMOVAX,0003H;设置显示方式为40*25彩色文本方式INT10HLEADX,STR1;显示提示信息MOVAH,9INT21HMOVBP,OFFSETSPACEMOVDX,0B00HBX,0000HAX,1300H10H;显MOVCX,1000;主程序LP1:MOVINTCMP一一一一一JNE 一CALLLP2: MOVINT CMP JNEMOVMOVah,1INT21H示字符串,定义显示方式AL,MLP5DATE;从键盘输入单个字符AH,121HAL,ML

22、P5;AL=M;显示系统日期;从键盘输入单个字符;AL=M?;显示系统时间LP3:MOVINTCMPJNECALLLP4:MOVINTCMPJNECALLLP5:CMPJNEMOVAH,1;从键盘输入单个字21H符AL,M;AL=M?LP4STOPWATCH;显示秒表AH,1;从键盘输入单个字21HAL,M;AL=M?LP5RINGAL,Q;AL=Q?LP1AH,4CH;返回DOS状态INT21H;显示日期子程序DATEPROCDISPLAY9:MOVINTMOVMOVMOVDIVMOVCALLMOVCALLINCMOVCALLINCMOVCALLMOVMOVjjjjj;L;MOVMOVMOV

23、INTMOVNEARAH,2AH;取日期CX:DH:DL=年:月21HSI,0AX,CXBX,100BLBL,AHBCDASC1;日期数值转换成相应的AL,BLBCDASC1SIAL,DHBCDASC1SIAL,DLBCDASC1BP,OFFSETDBUFFER1DX,001DHJJJJCX,20BX,004EHAX,1301H10HAH,02H;设置光标位置:日AL=星期ASCII码字符222MOVMOVINTMOVREPEA:MOVDX,0900HBH,010HBX,0018HCX,0FFFFH;延时REPEAT:LOOPREPEATDATEDECJNZMOVINTJEJMPMOVINTR

24、ETENDPBXREPEAAH,01H16HDISPLAY1LP2AX,4C00H21H;读键盘缓冲区字符到AL寄存器DISPLAY1:MOVMOVDIV MOVINTMOVCALL INC MOVCALL INC MOVCALL MOV MOVMOVMOVMOV INT MOVMOVMOVINTMOVRE: MOVREA:LOOPDEC;显示时间子程序TIMEPROCNEARSI,0BX,100BLAH,2CH;取时间CH:CL=时:分DH:DL=秒:1/100秒21HAL,CHBCDASC;将时间数值转换成ASCII码字符SIAL,CLBCDASCSIAL,DHBCDASCBP,OFFSE

25、TDBUFFERDX,003AHCX,20BX,004EHAX,1301H10HAH,02HDX,0310HBH,010HBX,0018HCX,0FFFFHREABXJNZREMOVAH,01H TOC o 1-5 h z INT16HJEDISPLAY1JMPLP3MOVAX,4C00HINT21HRETTIME ENDP;显示秒表子程序STOPWATCH PROC DISPLAY2:PUSHA1 MOV MOV DIV ;CALL WATCH DISP3:MOV MOV MOV CALL INC MOV CALL INC MOV CALL MOV INC CALL MOV MOV MOV MOV MOV INT MOV MOV MOV INT MOVRE2: MOV REA2: LOOP DEC JNZ MOV INT JE POPA1 JMP MOV INT RETNEARSI,0BX,100BLAX,DATADS,AXAL,WHOURBCDASC2;将时间数值转换成ASCII码字符SIAL,WMINBCDASC2SIAL,WSECBCDASC2AL,WMSECSIBCDASC2BP,OFFSETDBUFFER2DX,0037HCX,20BX,004EHAX,1301H10HAH,02HDX,0300HBH,010HBX,001

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论