[计算机类试卷]PC技术机试模拟试卷29及答案与解析.doc

上传人:testyield361 文档编号:493441 上传时间:2018-11-28 格式:DOC 页数:3 大小:27.50KB
下载 相关 举报
[计算机类试卷]PC技术机试模拟试卷29及答案与解析.doc_第1页
第1页 / 共3页
[计算机类试卷]PC技术机试模拟试卷29及答案与解析.doc_第2页
第2页 / 共3页
[计算机类试卷]PC技术机试模拟试卷29及答案与解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、PC技术机试模拟试卷 29及答案与解析 一、程序设计题 1 请编制程序 PROG1.ASM,其功能是:对内存中连续存放着 20个补码表示的无符号整数进行从大到小的排序,结果存放在 RESULT开始的内存单元中。 部分程序已给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程 SAVE保存到文刊: OUTPUT1.DAT中。请在 BEGIN和 END之间补充一段源程序,完成要求的功能。 对程序必须进行汇编,并与 IO.OBJ链 接产生 PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者

2、均不得分 )。 试题程序: EXTRN LOAD:FAR, SAVE:FAR N EQU 20 DSEG SEGMENT SOURCE DW N DUP(?) ; 存放原始数据 RESULT DW N DUP(0) ; 存放运算结果 NAME0 DB INPUT1.DAT,0 NAME1 DB OUTPUT1.DAT,0 DSEG ENDS SSEG SEGMENT STACK DB 128 DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG, SS:SSEG START PROC FAR PUSH DS XOR AX,AX PUSH A

3、X MOV AX,DSEG MOV DS,AX MOV ES,AX LEA DX,SOURCE ; 数据区起始地址 LEA SI,NAMEO ; 原始数据文件名 MOV CX.N ; 字节数 CALL LOAD ; 从 INPUT1.DAT中读取数据 ;*BEGIN* ;*END* LEA DX,RESULT ; 结果数据区首址 LEA SI,NAME1 ; 结果文件名 MOV CX,N ; 结果字节数 CALL SAVE ; 保存结果到文件 RET START ENDP CSEG ENDS END START PC技术机试模拟试卷 29答案与解析 一、程序设计题 1 【正确答案】 ; *BE

4、GIN* MOV DX,N DEC DX L1: LEA SI,SOURCE MOV CX,DX MOV BX,0 L2: MOV AL,SI INC SI CMP AL,SI JAE L3 MOV AH,SI MOV SI ,AL MOV SI-1,AH MOV BX, I L3: LOOP L2 CMP BX,0 JZ STORE DEC DX JNZ L1 STORE: MOV CX,N LEA SI,SOURCE LEA DI,RESULT CLD REP MOVSB ; *END* 【试题解析】 本题可采用冒泡排序算法。对于 SOURCE开始的 20个内存单元中的无符号数,依次将 相邻的两个数进行比较,每次将较小的数调整到后面。经过一轮比较后,最小的数排到第 20个位置;再将剩下的 19个数两两进行比较,排在第 19个位置上的数为次小数;重复比较共 19遍,完成排序操作。

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

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

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