汇编综合实验.docVIP

  • 1
  • 0
  • 约3.09千字
  • 约 7页
  • 2019-08-22 发布于山西
  • 举报
华北科技学院计算机系综合性实验报告 PAGE 第 PAGE 6 页 华 北 科 技 学 院 实 验 报 告 课程名称 汇 编 语 言 实验学期 2008 至 2009 学年 第 1 学期 学生所在系部 计算机系 年级 2006 专业班级 网络B0ZZZ 学生姓名 XXX 学号 200607ZZZ 任课教师 李冬艳 实验成绩 计算机系制 《汇 编 语 言》课程综合性实验报告 开课实验室:软件一实验室 08年 11 月24 日 实验题目 显示学生名次表 一、实验目的 进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序和子程序编程方法,巩固提高汇编语言程序设计能力应用水平。 二、设备与环境 PC兼容机、Windows操作系统、汇编程序masm611 三、实验内容 编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字节的GRADE数组中,其中GRADE+N保存学号N+1的学生成绩。然后根据GRADE中的学生成绩,把学生名次填入50字节的RANK数组中,其中RANK+N的内容是学号为N+1学生的名次。再按学号把学生顺序把学生名次显示出来。 四、实验结果及分析 程序已完成的功能 程序的功能包括输入学生的成绩(按学号顺序),对输入的成绩排序并将名次存储,然后一起输出学号、成绩和名次。 实现方法 流程图如下: 结束 结束 输入input 调用input 排序sort 调用input 开始 输出 调用input 开始 开始 SI加1[Si]送AH调用input SI加1 [Si]送AH 调用input 与[bx]比较调用input 与[bx]比较 调用input 大于?Y 大于? Y NN N N Bx+1调用input Bx+1 调用input Al+1 调用input 数组结束? 数组结束? A Al送rank N N 数组结束? 数组结束? Y Y 结束 结束 3)程序代码: crlf macro mov ah,2 mov dl,0dh int 21h mov ah,2 mov dl,0ah int 21h endm message macro mes ;show messages mov ah,9 lea dx,mes int 21h endm data SEGMENT grade DB 50 DUP(?) rank DB 50 DUP(?) mes1 DB please input grades: $ mes2 DB num grade rank$ kongge DB $ num dw ? data ENDS codes SEGMENT ASSUME CS:codes,DS:data,ES:data start: MOV AX,data MOV DS,AX MOV ES,AX CALL input CALL sort CALL output MOV AH,1 INT 21h MOV AH,4ch INT 21h input PROC message mes1 crlf LEA SI,grade input1: MOV BL,0 MOV CX,2 input2: MOV AH,1 INT 21h cmp al,0dh je exit SUB AL,30h XCHG AL,BL MOV DL,10 MUL DL XCHG AL,BL ADD BL,AL LOOP input2 crlf MOV [SI],BL INC SI inc num DEC BH CMP BH,0 JNE input1 exit: RET input ENDP sort P

文档评论(0)

1亿VIP精品文档

相关文档