北京邮电大学危机原理实验四 子程序设计
来源:互联网 发布:专利数据库 编辑:程序博客网 时间:2024/05/08 00:48
一.实验目的:
1.进一步掌握子程序设计方法;
2.进一步掌握基本的 DOS 功能调用.
二.实验内容:
1.从键盘上输入某班学生的某科目成绩.输入按学生的学号由小到大的顺序输入.
2.统计检查每个学生的名次.
3.将统计结果在屏幕上显示.
4.为便于观察,输入学生数目不宜太多,以不超过一屏为宜.输出应便于阅读.尽可
能考虑美观.
5.输入要有检错手段.
源程序:
DATA SEGMENT
BUFFER DB 100
DB 0
DB 100 DUP (0)
COUNT DB 0
COUNT1 DB 1
COUNT2 DB 0
COUNT3 DB 1
STRING1 DB 'NUM RANK SCORE',0DH,0AH,'$'
STRING2 DB ' ','$'
RANK DB 100 DUP (?)
MUN DB 100 DUP (?)
SCORE DB 100 DUP (?)
DATA ENDS
STACK SEGMENT STACK 'STACK'
DB 100 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
MAIN: MOV AX,DATA
MOV DS,AX
CALL INPUT
CALL HH
CALL CHANGE
CALL PAIXU
CALL HH
CALL OUTPUT
MOV AX,4C00H
INT 21H
HH PROC
MOV AH,02H
MOV DL,0DH
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
RET
HH ENDP
INPUT PROC
MOV DX,SEG BUFFER
MOV DS,DX
MOV DX,OFFSET BUFFER
MOV AH,0AH
INT 21H
RET
INPUT ENDP
CHANGE PROC
LEA BX,BUFFER
LEA DI,SCORE
LEA SI,MUN
MOV CH,1
CH1: MOV AL,[BX+2]
CMP AL,'!'
JZ A
CMP AL,','
JZ B
SUB AL,30H
ADD AL,AL
MOV DH,AL
MOV CL,2
SHL AL,CL
ADD AL,DH
MOV AH,[BX+3]
SUB AH,30H
ADD AL,AH
MOV [DI],AL
MOV [SI],CH
INC SI
INC CH
INC DI
INC BX
INC BX
JMP CH1
B: INC BX
JMP CH1
A: NOP
RET
CHANGE ENDP
PAIXU PROC ;假排序,只是获得每个成绩的地址
SUB CH,1
MOV AL,CH
ADD AL,30H
MOV AH,02H
MOV DL,AL
INT 21H
MOV COUNT,CH
MOV COUNT2,CH
LEA SI,SCORE
LEA BX,RANK
D: LEA DI,SCORE
MOV AL,[SI]
E: MOV AH,[DI]
CMP AH,AL
JBE C
INC COUNT1
INC DI
DEC COUNT
JNZ E
F: INC SI
MOV COUNT,CH
MOV DL,COUNT1
MOV [BX],DL
INC BX
MOV DL,1
MOV COUNT1,DL
DEC COUNT2
JNZ D
JMP G
C: INC DI
DEC COUNT
JNZ E
JMP F
G: NOP
RET
PAIXU ENDP
OUTPUT PROC ;输出顺序为,number,score,rank
LEA SI,RANK
LEA DI,SCORE
MOV AH,09H
MOV DX,SEG STRING1
MOV DS,DX
MOV DX,OFFSET STRING1
INT 21H
H: CALL KONGGE
MOV AH,02H
MOV AL,COUNT3
ADD AL,30H
MOV DL,AL
INT 21H
INC COUNT3
CALL KONGGE
MOV AL,[SI]
ADD AL,30H
MOV AH,02H
MOV DL,AL
INT 21H
CALL KONGGE
MOV AL,[DI]
CBW
MOV BL,10
DIV BL
MOV BH,AH
ADD AL,30H
MOV AH,02H
MOV DL,AL
INT 21H
MOV AL,BH
ADD AL,30H
MOV AH,02H
MOV DL,AL
INT 21H
CALL HH
INC SI
INC DI
DEC CH
JNE H
JMP J
KONGGE: MOV AH,09H
MOV DX,SEG STRING2
MOV DS,DX
MOV DX,OFFSET STRING2
INT 21H
RET
J: NOP
RET
OUTPUT ENDP
CODE ENDS
END MAIN
- 北京邮电大学危机原理实验四 子程序设计
- 北京邮电大学课程Java实验一
- 实验5 子程序设计
- 北京邮电大学程序设计课程设计第二次实验problem 6
- 北京邮电大学程序设计课程设计第二次实验Problem 4
- 大学危机
- 中断调用与子程序设计实验
- 北京邮电大学 2008 上机题目
- 二叉排序树(北京邮电大学-2012)
- 课程表: 北京邮电大学软件工程领域本科生
- 北京邮电大学2006年本科毕业生各专业统计表
- 北京邮电大学CSDN高校俱乐部运营策划
- 北京邮电大学2017菜鸟指针学习笔记
- 大学JAVA实验四 简单计算器、记事本
- 反思大学心理健康危机
- 回顾大学--大一JAVA实验--实验四 字符与字符串
- 实验10 编写子程序
- 实验11 编写子程序
- 内存解析
- 怎样使用链接脚本文件实现分散加载
- 我的异常网 -异常解决方法,错误解决方法2009-12-03
- 20/80规则的应用
- 在linux下安装配置svn独立服务器
- 北京邮电大学危机原理实验四 子程序设计
- 第1章脸面问题——关于网页布局
- 先来先服务算法-FCFS
- 附加数据库时,要在Windows身份验证模式下
- 商业周刊评出2009年度最佳及最差科技产品
- AlanX Upload 1.0公布(目前为止,最适合java开发者运用的资料批量上传组件)
- 应用层上的同步原理(2)
- NetBeans IDE 6.8首个候选版今公布
- 那时