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

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

1、PC技术机试模拟试卷 60及答案与解析 一、程序设计题 1 请编制程序,其功能是:内存中连续存放着 10个用 ASCII码表示的十进制个位数,将它们转换成相应的二进制字节数 N0, N1, , N9,然后按序将 N0至 N9存入内存中,最后存放它们的和 n(n=N0+N1+N9) 。 N用压缩型 (组合型 )BCD码表示。 例如: 内存中有; 30H (0), 39H(9), 31H(1), 结果为: 00H, 09H, 01H, ( 后跟 n) 部分程序已经给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从 RESULT开始存放,

2、由过程 SAVE保存到文件 OUTPUT1.DAT中。 请填空 BEGIN和 END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去 BEGIN和END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进行汇编,并与 IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。 【试题程序】 EXTRN LOAD:FAR,SAVE:FAR N EQU 10 STAC SEGMENT STACK DB 128 DUP (?) STAC ENDS DATA SEGMENT SOURCE DB

3、 N DUP(?) RESULT DB N+1 DUP(0) NAME0 DB INPUT1.DAT,0 NAME1 DB OUTPUT1.DAT,0 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STAC START PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX LEA DX,SOURCE ; 数据区起始地址 LEA SI,NAME0 ; 原始数据文件名 MOV CX,N ; 字节数 CALL LOAD ; 从 “INPUT1.DAT“中读取数据 ; * BEGIN *

4、 MOV DI,OFFSET RESULT MOV BX,0 MOV CX,N MOV DL, (1) PRO: MOV AL,SOURCEBX (2) AL,30H MOV DI,AL (3) ADD AL,DL (4) ; BCD码调整 MOV DL,AL INC BX (5) JNZ PRO (6) ; * END * LEA DX,RESULT ; 结果数据区首址 LEA SI,NAME1 ; 结果文件名 MOV CX,N+1 ; 结果字数 CALL SAVE ; 保存结果到文件 RET START ENDP CODE ENDS END START PC技术机试模拟试卷 60答案与解析 一、程序设计题 1 【正确答案】 (1) 0 (2) SUB (3) INC DI(4) DAA (5) DEC CX (6) MOV DI,DL 【试题解析】 本题的要求是先将数字字符转换 成二进制字节数,转换的过程是把已读入的数存入 AL中,再对 AL减去 30H就可得到其 BCD码,然后进行 AL和DL相加,累加和仍存入 AL中,再对 AL进行 BCD码调整,调整后把 AL中的值存放在 DL中,计算结束把结果 DL存入结果数据区,最后调用过程 SAVE把结果数据保存到文件 OUTPUT1.DAT中。

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

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

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