汇编语言实验介绍.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华北科技学院综合性 实 验 报 告 课程名称 汇 编 语 言 实验学期 2013 至 2014 学年 第 2 学期 学生所在院部 计算机学院计算机工程系 年级 二年级 专业班级 计科B12- 学生姓名 学号 任课教师 李冬艳 实验成绩 计算机学院制 《 汇 编 语 言》课程综合性实验报告 开课实验室:基础实验室四 2015-05-26 实验题目 显示学生名次表 一、实验目的 进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序、子程序、宏指令编程方法,提高汇编语言程序设计能力的应用水平。 二、设备与环境 PC兼容机、Windows操作系统、汇编程序masm for windows 2012 三、实验内容 编制一程序,要求接收从键盘输入的一个班的学生的学号、姓名、成绩,对学生的成绩进行排序,最后把学号、姓名、学生成绩、名次显示出来。 实验要求: 1.必须画流程图。 2.本程序涉及汇编语言的多重循环、子程序及宏,其中 成绩输入、计算学生名次、显示学生名次都分别用子程序,也可用宏处理。 3.要求用菜单选择。具体要求: 输入1是数据录入并输出(包括姓名、学号、成绩); 输入2是排序后的数据输出(包括姓名、学号、成绩、名次); 输入3是可以按学号查找某学生,并输出其成绩,选择修改或不改成绩。 四、实验结果及分析(包括①已完成什么功能,②如何实现的、遇到的问题和解决办法、流程图和关键代码解释,③收获和体会等) 1.流程图 2、程序分析 程序开始,显示主菜单,通过选择进入程序调用。调用子程序INPUT,进入子程序:输出字符串:“input:”调用子程序input,输入数据后调用子程序copy进行数据转存。调用change把输入的数转换为二进制,保存到score2中。程序排名:用CX以栈的形式保存循环次数,把成绩送到AL中,和AL+1比较,小于交换,结束内循环,恢复外循环次数,结束外循环。调用print输出排序。最查找通过输入学号进行查找,如果找到进行修改。最后输出。 关键代码 DATAS ENDS aa macro mov ah,2 mov dl,10 int 21h mov dl,13 int 21h endm STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov es,ax let0:mov ah,9 ;显示菜单 lea dx,menu int 21h mov ah,1 int 21h cmp al,1 ;输入选择 jz prog1 cmp al,2 jz prog2 cmp al,3 jz prog3 cmp al,4 jz prog4 mov ah,9 lea dx,mess5 int 21h jmp let0 prog1:call input ;调用input jmp let0 prog2: ;调用排序、输出 mov ax,p cmp ax,1 jl let0 call sort call print jmp let0 prog3: ;查找 mov ax,p cmp ax,1 jl let0 mov ah,9 lea dx,mess6 int 21h mov ah,10 lea dx,buffnumber int 21h mov al,buffnumber+1 add al,2 mov ah,0 mov ah,10 lea dx,buffname int 21h mov al,buffname+1 add al,2 mov ah,0 mov si,ax mov buffn

文档评论(0)

钱缘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档