中南大学汇编实验报告实验一求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)的方式巧妙地将乘法转化为加法
显示提示,并接受一个数字N;2
调用fib递归得到结果存入内存;3
调用显示10进制函数OUTPUT
输入数据36(十进制)输出数据14930352(10进制)正确
实验结论本实验使我进一步掌握子程序的设计方法,熟悉递归程序的设计,丰富了我写汇编程序的经验
实验二冒泡排序算法的程序实现一、实验目的1
掌握循环程序的设计方法;2
了解循环结构在程序中的重要作用起泡排序程序
二、实验原理及基本技术路线图(方框原理图)循环结构分DO_WHILE和DO_UNTIL两种,无论使用哪种循环结构,循环程序一般应包括以下几部分:1
它包括设置循环次数的初始值、地址指针的初始设置等
这是循环工作的主体,包括要重复执行的操作,以及循环的修改部分
修改部分包括地址指针的修改、循环控制条件的修改等
循环控制部分
它是控制循环的关键,判断