首页 IBM-PC汇编语言程序设计实验报告

IBM-PC汇编语言程序设计实验报告

举报
开通vip

IBM-PC汇编语言程序设计实验报告第PAGE2页共NUMPAGES21页中南大学IBM-PC汇编语言程序设计实验报告学生姓名学院专业班级完成时间目录TOC\o"1-3"\h\uHYPERLINK\l"_Toc422165096"汇编语言实验一PAGEREF_Toc422165096\h3HYPERLINK\l"_Toc422165097"1.实验目的与要求PAGEREF_Toc422165097\h3HYPERLINK\l"_Toc422165098"2.实验内容与实现原理PAGEREF_Toc4221...

IBM-PC汇编语言程序设计实验报告
第PAGE2页共NUMPAGES21页中南大学IBM-PC汇编语言程序设计实验报告学生姓名学院专业班级完成时间目录TOC\o"1-3"\h\uHYPERLINK\l"_Toc422165096"汇编语言实验一PAGEREF_Toc422165096\h3HYPERLINK\l"_Toc422165097"1.实验目的与要求PAGEREF_Toc422165097\h3HYPERLINK\l"_Toc422165098"2.实验内容与实现原理PAGEREF_Toc422165098\h3HYPERLINK\l"_Toc422165099"3.实验具体设计实现及结果PAGEREF_Toc422165099\h4HYPERLINK\l"_Toc422165100"4.源代码PAGEREF_Toc422165100\h7HYPERLINK\l"_Toc422165101"汇编语言实验二PAGEREF_Toc422165101\h8HYPERLINK\l"_Toc422165102"1.实验目的与要求PAGEREF_Toc422165102\h8HYPERLINK\l"_Toc422165103"2.实验内容与实现原理PAGEREF_Toc422165103\h8HYPERLINK\l"_Toc422165104"3.实验具体设计实现及结果PAGEREF_Toc422165104\h9HYPERLINK\l"_Toc422165105"4.源代码PAGEREF_Toc422165105\h9HYPERLINK\l"_Toc422165106"汇编语言实验三求Fibonacci递归数PAGEREF_Toc422165106\h11HYPERLINK\l"_Toc422165107"1.实验目的与要求PAGEREF_Toc422165107\h11HYPERLINK\l"_Toc422165108"2.实验内容与实现原理PAGEREF_Toc422165108\h12HYPERLINK\l"_Toc422165109"3.实验具体设计实现及结果PAGEREF_Toc422165109\h12HYPERLINK\l"_Toc422165110"4.源代码PAGEREF_Toc422165110\h12HYPERLINK\l"_Toc422165111"汇编语言实验四分类统计字符个数PAGEREF_Toc422165111\h17HYPERLINK\l"_Toc422165112"1.实验目的与要求PAGEREF_Toc422165112\h17HYPERLINK\l"_Toc422165113"2.实验内容与实现原理PAGEREF_Toc422165113\h17HYPERLINK\l"_Toc422165114"3.实验具体设计实现及结果PAGEREF_Toc422165114\h18HYPERLINK\l"_Toc422165115"4.源代码PAGEREF_Toc422165115\h18HYPERLINK\l"_Toc422165116" 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf PAGEREF_Toc422165116\h21IBM-PC汇编语言程序设计汇编语言实验一1.实验目的与要求【实验目的】学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,熟悉DEBUG调试程序和DOS功能表的查看,为后续实验打下坚实基础。【实验要求】通过实验掌握下列知识:1、8086指令:MOV,ADD,ADC,SUB,SBB,DAA,XCHG2、DEBUG命令:A,D,E,F,H,R,T,U。3、ASCII码及用16进制数表示二进制码的方法。4、8086寄存器:AX,BX,CX,DX,F,IP。2.实验内容与实现原理DEBUG命令:  1、打DEBUG进入DEBUG,显示提示苻'_'。  2、退出DEBUG命令:Q  3、显示内存命令:D起始地址结束地址  4、修改内存命令:E起始地址,连续修改打空格键。打回车键退出E命令。  5、检查寄存器命令:R  6、修改寄存器命令:R寄存器名  7、小汇编命令:A起始地址,不输入指令打回车键退出A命令。  8、反汇编命令:U起始地址结束地址  9、文件命名命令:N盘号:文件名  10、读文件命令:L内存地址  11、写文件命令:W内存地址  12、读扇区命令:L内存地址盘号(0--A:,1--B:)扇区号扇区数  13、写扇区命令:W内存地址盘号扇区号扇区数  14、运行命令:G=起始地址结束(断点)地址  15、单步命令:T=起始地址运行指令数,进入子程序内部。  16、单步命令:P=起始地址运行指令数,不进入子程序内部。17、内存搬家命令:M起始地址结束地址目的地址3.实验具体设计实现及结果实验结果如下,输入debug指令后截图:4.源代码'HelloWorld'程序:DATASSEGMENTSTRINGDB13,10,'HelloWorld!',13,10,'$'DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXLEADX,STRINGMOVAH,9INT21HMOVAH,4CHINT21HCODESENDSENDSTART汇编语言实验二1.实验目的与要求【实验目的】(1)掌握循环程序的设计方法;(2)掌握汇编语言源程序的编辑、汇编、连接及调试过程;(3)进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性;(4)学会针对不同的问题,选用不同的组织循环的方法。【实验要求】掌握循环程序的过程和汇编实现原理,进一步熟练掌握DEBUG操作指令以及汇编语言源程序的编辑、汇编、连接及调试过程。2.实验内容与实现原理掌握循环排序算法的思想:1、二进制到十六进制转换程序;2、起泡排序算法的程序实现;3、查找匹配字符串。注:第1个必须做,2、3选做一个3.实验具体设计实现及结果4.源代码二进制转十六进制:PROGNAMSEGMENTMAINPROCFARASSUMECS:PROGNAM,DS:DATAS,SS:STACKSSTART:PUSHDSSUBAX,AXPUSHAXMOVCH,4MOVBX,0101010011101001BROTATE:MOVCL,4ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJLPRINTITADDAL,7HPRINTIT:MOVDL,ALMOVAH,2INT21HDECCHJNZROTATERETMAINENDPPROGNAMENDSEND冒泡排序:DSEGSEGMENTSCOREDB11H,02H,15H,32H,5H,6H,7H,8H,9H,10H,90DUP(05H)MAXDB?MINDB?DSEGENDSCSEGSEGMENTASSUMEDS:DSEG,CS:CSEGSTART:MOVAX,DSEGMOVDS,AXLEABX,SCORE;取数组的首地址MOVCX,100;控制循环次数XORSI,SI;将SI清零XORDI,DI;将DI清零L1:MOVAH,[BX+SI];用基变址寻址取操作数,L1为外循环,(SI)为循环变量,;相当于iL2:MOVAL,[BX+DI];L2为内循环,(DI)为循环变量,相当于jCMPAH,ALJAEL3MOVDH,AH;AH=AL,不需交换,(AH)直接和后一个数比较,相当于j++CMPDI,100;判断内层循环是否结束JBL2;没结束,继续循环;内层循环结束了INCSI;外层变量SI加一,相当于i++MOVDI,SI;相当于j=iLOOPL1;通过寄存器实现两个存储器数据间的交换MOVAH,BYTEPTR[BX];基址寻址MOVAL,BYTEPTR[BX+99]MOVMAX,AHMOVMIN,ALMOVAH,4CH;返回操作系统INT21HCSEGENDSENDSTART汇编语言实验三求Fibonacci递归数1.实验目的与要求【实验目的】掌握子程序的设计方法,熟悉递归程序的设计【实验要求】掌握递归程序的调用、返回及入口、出口的传递方法2.实验内容与实现原理程序接受由用户键入的数N,根据给定的N值,计算Fibonacci数。Fibonacci数的公式如下:Fib(1)=1;当n=1Fib(2)=1;当n=2Fib(n)=Fib(n-1)+Fib(n-2)3.实验具体设计实现及结果4.源代码DATASSEGMENTSTR1DB'Pleaseinputanumber(1-50):N=','$'STR2DB13,10,'FIB(N)=','$'WRONGSTRDB13,10,13,10,'Anumberbetween1and50please!',13,10,13,10,'$'INPUTBUFFERDB3,?,3DUP(?)NDW?;输入N值RESULT1HDW0RESULT1LDW0RESULT2HDW0;结果的高16位RESULT2LDW0;结果的低16位C10DW10OUTPUTBUFFERDB11DUP('0')DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXCALLINPUTCALLFIBCALLOUTPUTJMPQUIT;***********************************************************************INPUTPROCJMPT1WRONG:LEADX,WRONGSTRMOVAH,9INT21HT1:LEADX,STR1MOVAH,9INT21HLEADX,INPUTBUFFERMOVAH,10INT21HMOVAX,0MOVCL,INPUTBUFFER+1MOVCH,0LEABX,INPUTBUFFER+2T2:MULC10MOVDL,[BX]CMPDL,'0'JBWRONGCMPDL,'9'JAWRONGANDDL,0FHADDAL,DLADCAH,0INCBXLOOPT2CMPAX,0032HJAWRONGCMPAX,1JBWRONGMOVN,AXRETINPUTENDP;************************************************************FIBPROCCMPN,1JZL1CMPN,2JZL2DECNCALLFIBMOVAX,RESULT2LMOVDX,RESULT2HMOVCX,RESULT1LADDRESULT2L,CXMOVCX,RESULT1HADCRESULT2H,CXMOVRESULT1L,AXMOVRESULT1H,DXJMPEXITL1:MOVRESULT1L,1MOVRESULT2L,1JMPEXITL2:MOVRESULT2L,1DECNCALLFIBEXIT:RETFIBENDP;*************************************************************OUTPUTPROCMOVAX,RESULT2LLEASI,OUTPUTBUFFERMOVCX,5R1:MOVDX,0;低位加入OUTPUTBUFFERDIVC10INCSIADD[SI],DLLOOPR1;*************************MOVAX,RESULT2HLEASI,OUTPUTBUFFERMOVCX,5R2:MOVDX,0DIVC10INCSIPUSHCX;高位加入OUTPUTBUFFERCMPDX,0JENOADDMOVCX,DXADDN:CALLADD65536LOOPADDNNOADD:POPCXLOOPR2;**********************LEADX,STR2MOVAH,9INT21HLEASI,OUTPUTBUFFERMOVBX,10R3:CMPBYTEPTR[SI+BX],'0'JAPRINTDECBX;显示十进制结果JMPR3PRINT:MOVDL,[SI+BX]MOVAH,2INT21HDECBXCMPBX,1JAEPRINTRETOUTPUTENDP;************************************************************ADD65536PROC;高位算法ADDBYTEPTR[SI],6MOVDL,0CMPBYTEPTR[SI],3AHJBA1SUBBYTEPTR[SI],10MOVDL,1A1:ADDBYTEPTR[SI+1],3ADDBYTEPTR[SI+1],DLMOVDL,0CMPBYTEPTR[SI+1],3AHJBA2SUBBYTEPTR[SI+1],10MOVDL,1A2:ADDBYTEPTR[SI+2],5ADDBYTEPTR[SI+2],DLMOVDL,0CMPBYTEPTR[SI+2],3AHJBA3SUBBYTEPTR[SI+2],10MOVDL,1A3:ADDBYTEPTR[SI+3],5ADDBYTEPTR[SI+3],DLMOVDL,0CMPBYTEPTR[SI+3],3AHJBA4SUBBYTEPTR[SI+3],10MOVDL,1A4:ADDBYTEPTR[SI+4],6ADDBYTEPTR[SI+4],DLMOVDL,0CMPBYTEPTR[SI+4],3AHJBA0SUBBYTEPTR[SI+4],10MOVDL,1A5:ADDBYTEPTR[SI+5],DLMOVDL,0CMPBYTEPTR[SI+5],3AHJBA0SUBBYTEPTR[SI+5],10MOVDL,1A6:ADDBYTEPTR[SI+6],DLMOVDL,0CMPBYTEPTR[SI+6],3AHJBA0SUBBYTEPTR[SI+6],10MOVDL,1A7:ADDBYTEPTR[SI+7],DLMOVDL,0CMPBYTEPTR[SI+7],3AHJBA0SUBBYTEPTR[SI+7],10MOVDL,1A8:ADDBYTEPTR[SI+8],DLMOVDL,0CMPBYTEPTR[SI+8],3AHJBA0SUBBYTEPTR[SI+8],10MOVDL,1A9:ADDBYTEPTR[SI+9],DLA0:RETADD65536ENDP;**********************QUIT:MOVAH,4CHINT21HCODESENDSENDSTART汇编语言实验四分类统计字符个数1.实验目的与要求【实验目的】掌握分支程序设计的原理与方法,重点掌握各种程序中形成和判断条件而产生的程序段的设计方法和技巧。【实验要求】掌握分支程序的调用及基本子程序的编写,判断程序运行的顺序。2.实验内容与实现原理程序接受用户输入一行字符,并按照字符串中字符所属的类型分类,将结果输出(例如:aaabb1234&中,字母5,数字4,其他字符1)。3.实验具体设计实现及结果4.源代码DATASSEGMENTmaxlendb80actlendb?Stringdb80dup(?)str1db'pleaseinputaString(<80):$'str2db0ah,0dh,'Numberofchars:$'str3db0ah,0dh,'Numberofdigits:$'str4db0ah,0dh,'Numberofothers:$'Quitdb0ah,0dh,0ah,0dh,'Pressanykeysquit!$'chardw?digitdw?otherdw?DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:PUSHDSxorAX,AXpushAxMOVAX,DATASMOVDS,AXleaDX,str1movAH,9int21hleaDX,maxlenmovAH,0aHint21HleaSI,Stringmovchar,0movdigit,0movother,0COMPARE:movAL,[SI]cmpal,0dhjzexitCMPAL,30HJCOTHER1CMPAL,3aHJCNUMBERCMPAL,41HJCOTHER1CMPAL,5BHJCLETTERCMPAL,61HJCOTHER1CMPAL,7BHJCLETTEROTHER1:INCotherJMPINCADDRNUMBER:INCdigitJMPINCADDRLETTER:INCcharINCADDR:INCSIJMPCOMPAREexit:leaDX,str3movAH,9int21hmovSI,10movAX,digitcallPrintNumberleaDX,str2movAH,9int21hmovAX,charcallPrintNumberleaDX,str4movAH,9int21hmovAX,otherXORDX,DXcallPrintNumberleaDX,QuitmovAH,9int21hmovah,1int21Hmovax,4C00Hint21HPrintNumberprocnearXORDX,DXXORSI,SImovSI,10divSImovBX,DXcmpAX,0JLnext3movDX,AXADDDX,30Hmovah,2int21Hnext3:movDX,BXADDDL,30Hmovah,2int21HretPrintNumberendpCODESENDSENDSTART总结通过这次实验,更加了解了汇编语言的内容。学习了汇编编译环境的使用、循环与分支程序设计、递归和数组等等问题。对汇编语言的思想有了更加深刻的理解。在实验中,曾遇到不少困难。但是通过老师与同学们的帮助都一一解决。这个汇编语言实验对我来说有些困难,因为习惯了高级语言编程,c语言、c++、java等语言对我来说更加方便。但是学会了汇编语言也是好处多多,虽然并没有完全展现出来,但我相信将来这些知识都是对我人生有所助益的。缺点在于程序有些冗余,说明我还需提高代码的编写能力,这将是我近期努力的方向。
本文档为【IBM-PC汇编语言程序设计实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
碧玉羞
暂无简介~
格式:doc
大小:1014KB
软件:Word
页数:20
分类:成人教育
上传时间:2022-03-26
浏览量:0