会汇编的帮忙啊。在线等。

来源:百度知道 编辑:UC知道 时间:2024/09/21 12:33:32
实验八 子程序设计
一.实验目的
1、掌握程序设计方法,合理划分层次
2、掌握子程序的调用与返回的方法
3、了解子程序的嵌套与递归
二.实验内容与要求
编制一程序,要求键入一个班的学生成绩,并存放于50字的ERADE数组中,然后根据ERADE中的成绩,把学生名次填入50字的RANK数组中,再按学号顺序把名次从终端上显示出来。
提示:
① 程序MAIN
功能:根据输入的学生成绩,计算并显示出学生名次。
② 子程序INPUT
功能:接收一个班级学生的成绩,各成绩之间用空格隔开。
③ 子程序RANKP
功能:计算一个班级学生的名次。
④ 子程序OUTPUT
功能:输出(显示)一个班级的学生名次
⑤ 子程序DECIBIN
功能:十进制转换二进制,存入BX
⑥ 子程序BINDEC
功能:十进制转换二进制,并在屏幕上显示。
⑦ 子程序DEC_DIV
功能:BX的内容除以CX的内容,并在屏幕上显示一位商。
三.程序框图:

图8.1 程序流程图
四.步骤
1、自编主程序与子程序。
2、输入本班级某门基础课成绩。

五.思考题
1、写出4位BCD码转二进制数的算法。
2、写出AX中进二制数转BCD码的算法。
3、将上述子程序结构改为模块化程序设计。

六.实验报告:
1、程序说明。说明程序的功能、结构。
2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果。
4、回答思考题。

实验九 综合程序设计
一.实验目的:
1、掌握分支、循环、子程序调用、DOS功能调用等基本的程序结构。
2、掌握综合程序的编制及调试方法。
二.实验内容:
设有

实验八:
本程序经masm5.0调试通过运行....
DATA SEGMENT
GRADE DW 50 DUP(?)
RANK DW 50 DUP(?)
COUNT DW ?
MESS1 DB 'Please enter students grade:$'
MESS2 DB 0DH,0AH,'You input non-digits...',0DH,0AH,0DH,0AH,'$'
MESS3 DB 'Rank:$'
DATA ENDS
PROGNAM SEGMENT
MAIN PROC FAR
ASSUME CS:PROGNAM,DS:DATA ;,ss:stack_seg
START:

PUSH DS
SUB AX,AX
PUSH AX

MOV AX,DATA
MOV DS,AX
CALL INPUT
;CMP SI,0
;JE EXIT
CALL RANKP
CALL OUTPUT
EXIT: RET
MAIN ENDP
;入口:无
;出口:COUNT=存入输入成绩个数,GRA