- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
该设计论文已经通过各大高校老师审核认可并通过答辩,准确完整无误。欢迎大家下载学习交流。如有疑问可随时联系店主,竭诚为您解答!!
中南大学
计算机原理与汇编语言
课程设计报告
目录:
实验一:使用子程序,计算出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、附录:带注释的源程序。
DATAS SEGMENT
;此处输入数据段代码
count dw 0;计数器
sushu dw 1000 dup(?);存放素数
information db The sushu between 1 and 1000 are:,$;显示素数的提示信息
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
lea dx,information;显示提示信息
mov ah,9
int 21h
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h
call jisuan
call dispsushu
MOV AH,4CH
INT 21H
jisuan proc near
lea di,sushu
mov ax,2
L1:
cmp ax,1000
ja exit;大于1000跳出子循环
mov bx,2
L2:
cmp bx
您可能关注的文档
- (毕业论文)支持中国出口产业低碳转型政策探讨.doc
- [毕业论文]数据挖掘技术及其在电子商务中的应用.doc
- 《web前段开发技术课程设计》课程设计报告-电子商务网站.doc
- 《冲压工艺与模具》课程设计-支撑圈零件冲压工艺与模具设计【全套图纸】.doc
- 《地理信息系统》课程期末报告.doc
- 《电子商务网站建设》课程设计.doc
- 《动画设计》课程设计-蛋糕制作.doc
- 《多级外部中断控制灯移动》单片机课程设计.doc
- 《机械创新设计》课程作业- 一种普通圆拖把挤水器.doc
- 《机械制造装备设计》课程设计-最大加工直径为Ф400 mm的普通卧式车床的主传动系统的变速箱部件设计.doc
- 消防工程投标火灾自动报警及消防联动系统施工方案.docx
- 《婴幼儿卫生与保健》 教案 教学设计 .模块三项目三 .docx
- 《婴幼儿卫生与保健》 教案 教学设计 模块三项目一 .docx
- 《婴幼儿卫生与保健》 教案 教学设计 模块二项目二 .docx
- 《婴幼儿卫生与保健》 教案 教学设计 模块一项目一 .docx
- 生态作物病虫害识别与防治 课件全套 1 昆虫的形态特征(视频0-2的课件) --- 28 小叶榕榕管蓟马和榕木虱防治.pptx
- 《婴幼儿卫生与保健》 教案 教学设计 模块三项目二 .docx
- 哈弗M6维修手册-哈弗M6 plus相关手册 .pdf
- 会计信息系统 课件 李爱红 第6--11章 固定资产管理---会计数据分析 .pptx
- 科鲁兹发动机、科鲁兹车身控制系统 科鲁兹维修手册 .pdf
文档评论(0)