【计算机类职业资格】三级PC技术机试-236及答案解析.doc

上传人:figureissue185 文档编号:1320221 上传时间:2019-10-17 格式:DOC 页数:4 大小:29.50KB
下载 相关 举报
【计算机类职业资格】三级PC技术机试-236及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】三级PC技术机试-236及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】三级PC技术机试-236及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】三级PC技术机试-236及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、三级 PC技术机试-236 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.试题要求如下:请编制程序,其功能是:统计 20个学生成绩中得分在 10090,8980,7970、69 60 和低于 60分的人数,并计算 20个学生的平均成绩(取整数),结果依次存放在指定的区域内。例如:内存中有 5个分数:50H,40H,5EH,64H,48H结果为 02H,01H,01H,01H,00H,52H(平均成绩)部分程序己给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入 SOURCE开始的内存单元中,运算的结果要求从 RESULT

2、开始存放,由过程 SAVE保存到文件 OUTPUT1.DAT中。补充 BEGIN和 END之间已给出的源程序使其完整(空白己用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除 BEGIN和 END之间原有的代码并自行编程来完成要求的功能。对程序进行汇编,并与 IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中发现整个程序中存在错误之处,请加以修改。试题程序:EXTRN LOAD: FAR, SAVE: FARN EQU 20L EQU 5DATA SEGMENTSOURCE DB N DUP(?)RESULT DB N+1DUP(0)NAME0 DB INPU

3、T 1.DAT, 0NAME1 DB OUTPUT1.DAT, 0DATA ENDSSSEG SEGMENT STACKDB 256DUP (?)SSEG ENDSCSEG SEGMENTASSUME CS: CSEG, SS: SSEG, DS: DATASTART PROC FARPUSH DSXOR AX, AXPUSH AXMOV AX, DATAMOV DS, AXLEA DX, SOURCE ;数据区起始地址LEA SI, NAME0 ;原始数据文件名MOV CX, N ;字节数CALL LOAD ;从INPUT1.DAT中读取数据; * BEGIN *LEA SI, SOURCE

4、LEA DI, RESULTXOR BX, BX(1) MOV CX, NGOON: LODSB(2) ADD BX, AX(3) JAE P1CMP AL, 80JAE P2CMP AL, 70JAE P3CMP AL, 60JAE P4INC (4) (5) P4: INC BYTE PTRDI+3JMP NEXTP3: INC BYTE PTRDI+2JMP NEXTP2: INC BYTE PTRDI+1JMP NEXTP1: INC BYTE PTRDINEXT: LOOP GOONMOV AX, BXMOV DL, (6) DIV DLMOV DI+5, AL; * END *LE

5、A DX, RESULT ; 结果数据区首址LEA SI, NAME1 ; 结果文件名MOV CX, L+1 ; 结果字节数CALL SAVE ; 保存结果到文件RETSTART ENDPCODE ENDSEND START(分数:100.00)_三级 PC技术机试-236 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.试题要求如下:请编制程序,其功能是:统计 20个学生成绩中得分在 10090,8980,7970、69 60 和低于 60分的人数,并计算 20个学生的平均成绩(取整数),结果依次存放在指定的区域内。例如:内存中有 5个分数

6、50H,40H,5EH,64H,48H结果为 02H,01H,01H,01H,00H,52H(平均成绩)部分程序己给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入 SOURCE开始的内存单元中,运算的结果要求从 RESULT开始存放,由过程 SAVE保存到文件 OUTPUT1.DAT中。补充 BEGIN和 END之间已给出的源程序使其完整(空白己用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除 BEGIN和 END之间原有的代码并自行编程来完成要求的功能。对程序进行汇编,并与 IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中发现整个程

7、序中存在错误之处,请加以修改。试题程序:EXTRN LOAD: FAR, SAVE: FARN EQU 20L EQU 5DATA SEGMENTSOURCE DB N DUP(?)RESULT DB N+1DUP(0)NAME0 DB INPUT 1.DAT, 0NAME1 DB OUTPUT1.DAT, 0DATA ENDSSSEG SEGMENT STACKDB 256DUP (?)SSEG ENDSCSEG SEGMENTASSUME CS: CSEG, SS: SSEG, DS: DATASTART PROC FARPUSH DSXOR AX, AXPUSH AXMOV AX, DA

8、TAMOV DS, AXLEA DX, SOURCE ;数据区起始地址LEA SI, NAME0 ;原始数据文件名MOV CX, N ;字节数CALL LOAD ;从INPUT1.DAT中读取数据; * BEGIN *LEA SI, SOURCELEA DI, RESULTXOR BX, BX(1) MOV CX, NGOON: LODSB(2) ADD BX, AX(3) JAE P1CMP AL, 80JAE P2CMP AL, 70JAE P3CMP AL, 60JAE P4INC (4) (5) P4: INC BYTE PTRDI+3JMP NEXTP3: INC BYTE PTRD

9、I+2JMP NEXTP2: INC BYTE PTRDI+1JMP NEXTP1: INC BYTE PTRDINEXT: LOOP GOONMOV AX, BXMOV DL, (6) DIV DLMOV DI+5, AL; * END *LEA DX, RESULT ; 结果数据区首址LEA SI, NAME1 ; 结果文件名MOV CX, L+1 ; 结果字节数CALL SAVE ; 保存结果到文件RETSTART ENDPCODE ENDSEND START(分数:100.00)_正确答案:(1) CLD ; 使 DF=0,在执行串处理指令时可以使地址自动增量(2) MOV AH, 0 ; 设初值(3) CMP AL, 90 ; 判断分数在 90100 分之间的个数(4) BYTE PTRDI+4 ; 设置平均值存储空间(5) JMP NEXT ; 无条件转移(6) N ; 计算 20个学生的平均成绩)解析:解析 程序中 GOON完成的是按题目的要求求出各段的数据,P1、P2、P3、P4 完成的分别是对各分数段的计数,NEXT 是求平均值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1