《计算机原理及汇编语言》课程设计报告.pdfVIP

  • 13
  • 0
  • 约1.51万字
  • 约 27页
  • 2018-12-03 发布于浙江
  • 举报

《计算机原理及汇编语言》课程设计报告.pdf

《计算机原理及汇编语言》课程设计报告

中南大学 计算机原理与汇编语言 课程设计报告 目录: 一.实验一:使用子程序,计算出1000 以内的素数,以十进制形式输出。 1、需求分析 2、总体设计 3、详细设计 4、调试分析 5、测试结果 6、附录:带注释的源程序。 二.实验二:计算50 以内Fibonacci 数,以十进制形式输出。 1、需求分析 2、总体设计 3、详细设计 4、调试分析 5、测试结果 6、附录:带注释的源程序。 三.实验三:从键盘输入年份,通过计算后,输出该年份是否为闰年的信息。 1、需求分析 2、总体设计 3、详细设计 4、调试分析 5、测试结果 6、附录:带注释的源程序。 四.实验四:反向输出一个整数 1、需求分析 2、总体设计 3、详细设计 4、调试分析 5、测试结果 6、附录:带注释的源程序。 五.课程设计总结 六.参考文献 一.实验一 使用子程序,计算出1000 以内的素数,以十进 制形式输出。 1、需求分析 程序的功能:以十进制形式输出1000 以内的素数 变量以及数组需求:需要一个变量count来计数,以便于素数的输出;需要一个数组sushu 来存放计算过程中得到的素数 寄存器需求:在汇编里面,除法运算只能是16位除以8位或者32位除以16位,1000 比255 大,因此要用32位除以16,要用dx,ax来存放除数,bx存放被除数 2、总体设计 程序开始 将求得素数以 计算素数并储存 十进制输出 程序结束 3、详细设计 求素数的算法 素数的约数只有1和本身 bool isPrime(int n) { if(n 2) return false; for(int i 2; i n; ++i) if(n%i 0) return false; return true; } 数据要以十进制输出,ASCII码要加上48 dispsushu proc near lea si,sushu mov cx,count;控制输出 L5: mov bx,[si] call disp10 mov dl,20h mov ah,2 int 21h add si,2 loop L5 ret dispsushu endp disp10 proc near;该子程序的作用是将BX 中的数以十进制形式输出 push cx mov cx,100d;转化百位 mov ax,bx mov dx,0 div cx mov bx,dx mov dl,al add dl,30h;加48,变成字符型 mov ah,2 int 21h mov cx,10d;转化十位 mov ax,bx mov dx,0 div cx mov bx,dx mov dl,al add dl,30h mov ah,2 int 21h mov dl,bl add dl,30h;转化个位 mov ah,2 int 21h pop cx ret disp10 endp 4、调试分析 编写过程中遇到了一些问题 这个错误系因为将count变量设为db型,而后面的数据存储时,用的是字节dw 型 这个错误找了好久,后来发现是个位输出程序有误,忘记了将余数赋给dl 5、测试结果 更正错误后,输出如下: 6、附录:带注释的源程

文档评论(0)

1亿VIP精品文档

相关文档