版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE《汇编语言》实习报告实习题目计算比赛成绩系统学生姓名班级(学号)院系信息学院计算机系指导老师提交时间2012年6月19号成绩目录PAGE3目录1实习任务概述 22 基本知识 22.1汇编语言源程序结构 22.2汇编语言上机过程 22.3 关键指令介绍 23 课题分析 23.1 程序功能分析 23.2 主程序流程图 24 详细设计 34.1 菜单模块 34.2 输入模块 44.3 移动模块 54.4 输出模块 55代码实现 76调试过程 117 操作说明 12实习总结 错误!未定义书签。参考文献 错误!未定义书签。参考文献callsum;排序后,求第二个至倒数第二个数的和callcursor;光标;movbx,gradeavg;callbinidec;十进制输出平均成绩;calloutputretmainendp输入模块inputprocnearleadx,mess1movah,09int21hcallcrlfmovsi,0;movcount,0ent: calldecibin;输入一个成绩 ;inccount cmpdl,'';如果输入空格,则表示输入下一个数 jestore cmpdl,13;如果输入回车,则表示输入完毕 jeexit1 jneerror;否则显示输入错误store: movgrade[si],bx addsi,2 jmpenterror: leadx,mess2 movah,09 int21hexit1: movgrade[si],bx callcrlf retinputendpdecibinprocnear;输入一个成绩 movbx,0 movdx,0newchar: movah,01h int21h movdl,al subal,30h;asc码减去30h得出数字 jlexit cmpal,09d jgexit;如果输入的不在'1~9'范围内,则结束本次输入 cbw xchgax,bx movcx,10d;第一位数字乘以10,加上第二位数字,得到二位十进制数 mulcx xchgax,bx addbx,ax jmpnewcharexit: retdecibinendp排序模块sortprocnear;冒泡排序 movcx,9 deccxloop1: movdi,cx movbx,0loop2: movax,grade[bx] cmpax,grade[bx+2] jgecotinue xchgax,grade[bx+2] movgrade[bx],axcotinue: addbx,2 looploop2 movcx,di looploop1 retsortendp求平均值输出模块sumprocnear;求平均值并输出 leadx,mess3 movah,9h int21h movdx,0 movax,0 movsi,2 movax,grade[si];在排序的数当中,求第二个数至倒数第二个数的平均值addavg: addsi,2 addax,grade[si] ;addsi,2 cmpsi,14;第二个数加到第8个数 jbaddavgcmpax,46h jaefull;如果全部是10 jmpn_fullfull: movah,2h movdl,'1' int21h movdl,'0' int21h movdl,'.' int21h movdl,'0' int21h movdl,'0' int21hjmpexit3n_full: movcx,2 movbh,1division: movbl,7 divbl pushax addal,30h movdl,al movah,2 int21h cmpbh,0 jedot movdl,'.' movbx,0dot: int21h popax moval,ah movdl,10 muldl loopdivision exit3: ret sumendp5代码实现DATASSEGMENTgradedw12dup(?)rankdw12dup(?)countdw?gradeavgdw?mess1db'InputTheGrade?$'mess2db13,10,'InputError!',13,10,'$'mess3db'Theavggrade:$'DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSmainprocfarSTART:pushdssubax,axpushaxMOVAX,DATASMOVDS,AXcallinput;输入9个数,数之间用空格隔开callsort;冒泡排序callcrlf;换行;movsi,2callsum;排序后,求第二个至倒数第二个数的和callcursor;光标;movbx,gradeavg;callbinidec;十进制输出平均成绩;calloutputretmainendpinputprocnearleadx,mess1movah,09int21hcallcrlfmovsi,0;movcount,0ent: calldecibin;输入一个成绩 ;inccount cmpdl,'';如果输入空格,则表示输入下一个数 jestore cmpdl,13;如果输入回车,则表示输入完毕 jeexit1 jneerror;否则显示输入错误store: movgrade[si],bx addsi,2 jmpenterror: leadx,mess2 movah,09 int21hexit1: movgrade[si],bx callcrlf retinputendpcrlfprocnear;回车换行 movdl,0ah movah,02h int21h movdl,0dh movah,02h int21h retcrlfendp ;outputprocnear ;movbx,2 ;leadx,grade[bx] ;movah,09 ;int21h ;ret;outputendpbinidecprocnear;转换成10进制输出 leadx,mess3 movah,09 int21h movcx,10 calldec_div;输出十位的数 movcx,1 calldec_div;输出个位的数 retdec_divprocnear;余数放在dl,商放在al movax,bx movdx,0 divcx movbx,dx movdl,al adddl,30H movah,2 int21H retdec_divendpbinidecendpsortprocnear;冒泡排序 movcx,9 deccxloop1: movdi,cx movbx,0loop2: movax,grade[bx] cmpax,grade[bx+2] jgecotinue xchgax,grade[bx+2] movgrade[bx],axcotinue: addbx,2 looploop2 movcx,di looploop1 retsortendpsumprocnear;求平均值并输出 leadx,mess3 movah,9h int21h movdx,0 movax,0 movsi,2 movax,grade[si];在排序的数当中,求第二个数至倒数第二个数的平均值addavg: addsi,2 addax,grade[si] ;addsi,2 cmpsi,14;第二个数加到第8个数 jbaddavgcmpax,46h jaefull;如果全部是10 jmpn_fullfull: movah,2h movdl,'1' int21h movdl,'0' int21h movdl,'.' int21h movdl,'0' int21h movdl,'0' int21hjmpexit3n_full: movcx,2 movbh,1division: movbl,7 divbl pushax addal,30h movdl,al movah,2 int21h cmpbh,0 jedot movdl,'.' movbx,0dot: int21h popax moval,ah movdl,10 muldl loopdivision exit3: ret sumendpcursorprocnearmovah,02movbh,0movdx,0311hint10hmovah,1int21hretcursorendpCODESENDSendmain6调试过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公园管理所某年工作计划
- 2024年四年级班主任工作计划范文怎么写
- 区域经理年度计划表
- 幼儿园学前班2024-2024学年度班主任工作计划
- 供销社年度工作目标措施工作计划
- 2024年度疾病预防控制工作计划
- 区划地名科近期工作计划
- 办公室春节前后工作计划
- 有关年度卫生工作计划
- 幼儿园办公室主任个人工作计划范本
- 全国大学英语四、六级考试缺考申请表
- 美国特朗普-课件
- 抽水台班记录表
- TBA19利乐灌装机操作手册
- 篮球 社团活动记录表
- 健康体检中心-体检科常识考试题及答案
- 股票技术分析-大全最强
- 武汉大学管理科学与工程培养方案
- 校园一日安全巡查记录表【范本模板】
- 结婚聘书模板范文(通用17篇)
- 2023届高考英语一轮复习题型总动员之七选五:科技类(有答案详解10篇)
评论
0/150
提交评论