您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 南昌大学微机原理学生成绩名次表实验
1实验十六学生成绩名次表实验一.实验要求根据提示将0~100之间的10个成绩存入首址为1000H的单元,1000H+i表示学号为i的学生成绩,编写程序能在2000H开始的区域排出名次表,2000H+i为学号i的学生的名次,并将其显示在屏幕上。二.实验目的进一步熟悉排序方法。三.实验程序框图开始初始化显示提示信息入口CX入栈保存学生数送CXAL送0分SI指向成绩表首址学生数送CX调GETNUM,读成绩送[SI]SI+1CX-1=0BX和SI指向成绩表首址AL=[SI][SI]送AL,DX记录对应学号SI+1CX-1=0将本次扫描的最高成绩清0CX出栈返回YYNN学生数送CXDI指向名次表首址调SCAN子程序,扫描成绩表计算名次,填入DX学号对应的名次单元CX-1=0显示学生名次返回DOSYNNY2四.实验程序:CRLFMACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HENDMDATASEGMENTSTUNUMEQU10MESS1DB'请依次输入1-10号学生的成绩',0DH,0AH,'$'ERRORDB'输入错误,请重新输入!',0DH,0AH,'$'MESS2DB'1-10号学生名次依次为:',0DH,0AH,'$'EMARKDB?ORG1000HSCOREDB30DUP(?)ORG2000HSEQUDB30DUP(?)DATAENDSSTACKSEGMENTSTADW32DUP(?)TOPDW?STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVSP,TOP;初始化MOVAH,09HMOVDX,OFFSETMESS1INT21H;显示提示信息MOVSI,OFFSETSCORE;成绩表首址MOVCX,STUNUM;学生数送CXMOVEMARK,0UUU:CALLGETNUM;读取键入数值送DXCMPEMARK,01HJESTARTMOV[SI],DL;存入成绩表缓冲区中INCSI;指向下一单元LOOPUUUMOVCX,STUNUM;学生数3MOVDI,OFFSETSEQU;名次表首址VVV:CALLSCAN;扫描子程序MOVAL,STUNUM;学生数SUBAL,CLINCAL;计算名次MOVBX,DXDAAMOV[DI+BX],AL;记DX学号对应名次LOOPVVVMOVAH,09HLEADX,MESS2INT21HMOVCX,STUNUM;学生数MOVSI,OFFSETSEQU;名次表首址[SI]CALLDISPIPUSHDXPUSHAXMOVAH,02MOVDL,20HINT21HPOPAXPOPDXINCSILOOP显示排定的学生名次MOVAX,4C00HINT21HSCANPROCNEAR;子程序,每扫描一遍成绩表缓冲区,找出其成绩最高者;(由DX指针指示对应学生),之后将该成绩清除以便下一次扫描MOVDX,0PUSHCXMOVCX,STUNUM;学生数MOVAL,00H;最低成绩MOVBX,OFFSETSCOREMOVSI,BX;指向成绩表首址CCC:CMPAL,[SI]JAEJJJ;AL中的成绩不低于成绩表指针SI所指单元的成绩则转JJJMOVAL,[SI];AL存放较高的成绩MOVDX,SISUBDX,BX;DX为对应学号JJJ:INCSI;指向下一单元LOOPCCCADDBX,DX4MOVBYTEPTR[BX],00H;本次扫描成绩最高者清0POPCXRETSCANENDPDISPIPROCNEAR;显示子程序PUSHCXMOVBL,ALMOVDL,BLMOVCL,04ROLDL,CLANDDL,0FHCALLDISPLMOVDL,BLANDDL,0FHCALLDISPLPOPCXRETDISPIENDPDISPLPROCNEARADDDL,30HCMPDL,3AHJBDDDADDDL,27HDDD:MOVAH,02HINT21HRETDISPLENDPGETNUMPROCNEAR;键读入子程序PUSHCXXORDX,DXGGG:MOVAH,01HINT21HCMPAL,0DHJZPPPSUBAL,30HJBKKKCMPAL,09HJBEGETSJMPKKKGETS:PUSHAXMOVAL,DLMOVCL,10MULCLMOVDX,AX5POPAXXORAH,AHADDDX,AXCMPDX,100JAKKKJMPGGGKKK:MOVAH,09HMOVDX,OFFSETERRORINT21HMOVEMARK,01HPPP:PUSHDXCRLFPOPDXPOPCXRETGETNUMENDPCODEENDSENDSTART
本文标题:南昌大学微机原理学生成绩名次表实验
链接地址:https://www.777doc.com/doc-2755714 .html