文档详情

微机原理实验五循环结构的程序设计:排序程序设计实验

ni****g
实名认证
店铺
DOCX
93.84KB
约13页
文档ID:397612665
微机原理实验五循环结构的程序设计:排序程序设计实验_第1页
1/13

实验五 循环结构的程序设计:排序程序设计实验1、实验目的(1) 掌握接收键盘数据的方法2) 掌握循环结构的程序设计和排序程序设计的方法3) 进一步熟练在 PC 上建立、汇编、链接、调试和运行汇编语言程序的过程2、实验内容用汇编语言编写学生成绩统计程序:键盘输入学生成绩到 SCORE 中(0<=分 数<=100,设有 10 个学生成绩分别是 56,69,84,82,73,88,99,63,100, 80)编程将它们由大到小排序,存回到原来的 SCORE 变量中;并统计低于 60 分、60〜69、70〜79、80〜89、90〜99及100分的人数,分别存放在S5、S6、 S7、S8、S9、S10 单元中3、 实验及报告要求:(1) 要求画出完整的程序流程图2) 根据流程图,编写完整的汇编代码源文件,要求写出所有伪指令和指令的注释;(3) 编译、连接生成可执行文件,调试该可执行文件4) 写出完整的实验报告,特别是“实验结果”与“实验总结体会”部分,是评 分的主要依据5) 实验总结中要求结合实验中的经验、教训或体会对汇编语言格式、调试方法、 汇编指令及汇编语言编程方法、微机原理学习方法作出总结。

4、 思考题:如何从屏幕输出结果?统计人数的程序流程图:SCORE的输入和排序流程图:y统计人数的程序输入 DATAS SEGMENTBUFFER DB 80,81 DUP(0),'$'SCORE1 DB 10 DUP(0);此处输入数据段代码DATAS ENDSSTACKS SEGMENTSTA DB 64 DUP(0)SP_TOP DB 0STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA SP,SP_TOPLEA DX,BUFFERLEA DI,SCORE1MOV AH,0AHINT 21HLEA SI,BUFFERADD SI,2MOV DL,0MOV CX,10JU: MOV AL,[SI]CMP AL,0DHJE EXITPUSH CXCMP AL,2CHJE CH1POP CXINC SIINC DLLOOP JUJMP EXITCH1:CMP DL,2JNE CH2MOV AL,[SI-2]SUB AL,30HMOV CL,10MUL CLMOV AH,0MOV BL,[SI-1]SUB BL,30HADD AL,BLMOV [DI],ALPOP CXINC DIINC SIMOV DL,0LOOP JUCH2:MOV [DI],100POP CXINC DIINC SIMOV DL,0LOOP JUEXIT: MOV AH,4CHINT 21HCODES ENDSEND START记人数 DATA SEGMENTSCORE DB 67S5 db 0S6 db 0S7 db 0S8 db 0S9 db 0S10 db 0TABLE DW NP,NP,NP,NP,NP,NP,S60,S70,S80,S90,S100DATA ENDSCODE SEGMENT 'CODE'ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AH,0LEA SI,SCORESP: MOV AL,[SI]MOV BL,10DIV BLSAL AL,1MOV BL,ALMOV BH,0JMP TABLE[BX]S100: INC S10JMP NEXTS90: INC S9JMP NEXTS80: INC S8JMP NEXTS70: INC S7JMP NEXTS60: INC S6JMP NEXTNP: INC S5NEXT:INC SILOOP SPFINISH: MOV AH,4CHINT 21HCODE ENDSEND START排序DATAS SEGMENTSTR DB 'PLS INPUT SCORE (0-100):',0DH,0AH,'$'SCORE DB 20DB 81 DUP(0)DB '$';此处输入数据段代码SC DB 10 DUP(0)DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA DX,STR ;调显示字符串的首地址MOV AH,9INT 21H ;字符串显示LEA DX,SCORE ;调字符串存放单元的首地址MOV AH,0AHINT 21H ;字符串输入LEA DI,SCLEA SI,SCOREADD SI,2COMP: MOV AL,[SI]CMP AL,0DHJZ EXITCMP AL,2CHJZ NEXT1INC SILOOP COMPNEXT1:MOV AL,[SI]MOV AL,[SI-1]SUB AL,30HADD BL,ALMOV [DI],BLINC DIINC SIJMP COMPEXIT:MOV AH,4CHINT 21HCODES ENDSEND START;返回操作系统。

下载提示
相似文档
正为您匹配相似的精品文档