电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

中南大学汇编实验报告VIP免费

中南大学汇编实验报告_第1页
1/17
中南大学汇编实验报告_第2页
2/17
中南大学汇编实验报告_第3页
3/17
中南大学汇编实验报告实验一求Fibonacci递归数一、实验目的进一步掌握子程序的设计方法,熟悉递归程序的设计二、实验要求掌握递归程序的调用、返回及入口、出口参数的传递方法。三、实验内容程序接收由用户键入的数N,根据给定的N值,计算Fibonacci数。Fibonacci数的定义如下:FIB(1)=1FIB(2)=1FIB(N)=FIB(N-2)+FIB(N-1)N>=3四.实验环境MasmForWindows2012五.实验方法程序接收用户输入的1小于等于50的十进制正整数,存入输入缓冲区后再把它转化为十六进制数,存入内存单元N中。调用FIB函数求Fibonacci数,结果高位存在RESULT2H,低位存在RESULT2L,最后调用OUTPUT函数将结果以十进制的形式显示出来。程序亮点在于将结果转换为十进制时采用了除10取余的方法,对于高位通过在适当的位数加65536(ADD65536)的方式巧妙地将乘法转化为加法。六.实验步骤1.显示提示,并接受一个数字N;2.调用fib递归得到结果存入内存;3.调用显示10进制函数OUTPUT。输入数据36(十进制)输出数据14930352(10进制)正确。七.实验结论本实验使我进一步掌握子程序的设计方法,熟悉递归程序的设计,丰富了我写汇编程序的经验。实验二冒泡排序算法的程序实现一、实验目的1.掌握循环程序的设计方法;2.了解循环结构在程序中的重要作用起泡排序程序。二、实验原理及基本技术路线图(方框原理图)循环结构分DO_WHILE和DO_UNTIL两种,无论使用哪种循环结构,循环程序一般应包括以下几部分:1.循环初始化。它包括设置循环次数的初始值、地址指针的初始设置等。2.循环体。这是循环工作的主体,包括要重复执行的操作,以及循环的修改部分。修改部分包括地址指针的修改、循环控制条件的修改等。3.循环控制部分。它是控制循环的关键,判断循环条件满足与否。特别要注意循环入口和循环次数的正确设置、地址指针及循环控制条件的修改等。否则会得不到期望的结果。以下为冒泡算法的流程图:三.实验环境1.汇编环境:MasmForWindows20122.文本编辑器:记事本开始CX=0?Ai≥Ai+1结束AiAi+1置内循环次数CXDI=0?修改外循环次数DI-1DI初始化循环次数DI置地址指针修改内循环次数CX-1CX修改地址指针指向下一元素四、实验方法、步骤1.将MASM的文件置于C:\assembly\目录下;2.将masm.exe和link.exe所在目录(C:\assembly\MASM)添加到Path环境变量中;3.在C:\assembly\下新建一个bubble.asm文件,打开bubble.asm,输入汇编程序代码;4.运行一个命令行窗口,将当前目录切换到C:\assembly\,然后输入命令:masmbubble.asm[Enter],来汇编程序,根据汇编结果查看程序代码是否有语法错误,如有,则更正保存后重新汇编,直至没有错误为止,此时会生成bubble.obj文件;5.输入命令:linkbubble.obj[Enter],观察输出结果,如果没有错误,则生成bubble.exe;6.输入命令:debugbubble.exe[Enter],调试程序,并记录运行过程;7.完成实验报告。五、实验过程原始记录(数据、图表、计算等)1.将C:\assembly\MASM目录添加到Path环境变量中:2.新建名为bubble.asm的文件,输入汇编程序代码:程序源码:STACKSGSEGMENTSTACK'S'DW64DUP('ST')STACKSGENDSDATASEGMENTARYDW5,7,1,4,3,6,9,8,2;数组,流程图中为ACTEQU($-ARY)/2;元素个数DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSGMAINPROCFARMOVAX,DATAMOVDS,AXMOVDI,CT-1;初始化外循环次数LOP1:MOVCX,DI;置内循环次数MOVBX,0;置地址指针LOP2:MOVAX,ARY[BX]CMPAX,ARY[BX+2];两数比较JGECONT;次序正确转XCHGAX,ARY[BX+2];次序不正确互换位置MOVARY[BX],AXCONT:ADDBX,2;修改地址指针LOOPLOP2;内循环控制DECDI;修改外循环次数JNZLOP1;外循环控制MOVAX,4C00HINT21HMAINENDPCODEENDSENDMAIN3.汇编源程序:4.连接生成可执行文件:5.调试程序:(1)初始化外循环次数(DI)=0008H(2)置内循环次数和地址指针(3)第一趟第一次比较,因为5<7,故互换位置,进行下一次比较(5)修改地址指针,继续内循环(6)第一趟第二次比较,因为5>1,故直接更改地址指针,进行下一次比较(7)第一趟第三次比较,因为1<4,故互换位置,进行下一次比较(8)第一趟第四次比较,因为1<3,故互换位置,进...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

中南大学汇编实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部