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

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

1、PC技术机试模拟试卷 86及答案与解析 一、程序设计题 1 请编制程序,其功能是:内存中连续存放着 20个 ASCII字符,如果是小写字母az之间的字符,请把它们转换成相应的大写字符;若为其他字符,不作转换。 例如: 内存中有 61H(a),62H(b),31H(1),41H(A),42H(B) 结果为 41H(A),42H(B),31H,41H(A),42H(B) 部分程序已给出,其中原始数据由过程LOAD从文件 INPUT1 DAT中读入 SOURCE开始的内存单元中。 运算结果要求从 RESULT开始存放,由过程 SAVE保存到文件 OUTPUT1.DAT中。 请填空BEGIN和 END

2、之间已给出的源程序使其完整 (空白己用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可 ),或删除 BEGIN和 END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进行汇编,并与 IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。 试题程序: PC技术机试模拟试卷 86答案与解析 一、程序设计题 1 【正确答案】 (1)UPPER2 (2)Z (3)A (4)AL,0DFH (5)AL (6)SI (7)DI (8)LOOP 【试题解析】 此程序要求实现的功能是:将内存中连续存放着的 20个 ASCII字符,如果是

3、小写字母 az之间的字符,把它们转换成相应的大写字符;若为其他字符,不作转换。 程序的堆栈段定义了一个 128字节的堆栈区。堆栈段下面是数据段。数据段中定义了四个字节型变量:原始数据区 SOURCE、结果数据区 RESULT、原始数据文件名 NAME0、结果数据文 件名 NAME1。数据段下面是代码段,告诉汇编程序,代码段、数据段和堆栈段分别属于段寄存器 CS、 DS、 SS。 先将原始数据的偏移地址装入到 SI中,结果数据存放的偏移地址装入到 DI中,CX赋值为 N,用于控制循环处理的次数。 NEXT段,取第一个原始 ASCII字符,即将 SI中内容送 AL,将 AL与 a做比较,若 AL小

4、于字符 a的 ASCII值,说明 AL为大写字母或其他字符,则转向UPPER2处执行;否则,将 AL与字符 z再做比较,若 AL大于字符 z的 ASCII值,说明 AL为其他字符,仍转向 UPPER2处执行;否则, AL大于等于字符 a的ASCII值,小于等于字符 2的 ASCII值,说明 AL为小写字母 az之间的字符。因为小写字母的 ASCII值范围是 61H7AH,大写字母的 ASCII值范围是41H5AH,所以要将小写字母变成大写字母的话,只需将小写字母的 ASCII值和0DFH进行逻辑与操作。读者可以试一下,将 61H7AH之间的值和 0DFH进行逻辑与操作,看是否能得到 41H5A

5、H之间的值。从上面的分析来看,第 (1)空填写“UPPER2“,第 (2)空填写 “2“,第 (3)空填写 “A“,第 (4)空填写 “AL,0DFH“。 UPPER2段,当字符 AL不为小写字母,为大写字母或其他字符时,不需将它做任何变换,直接将该字符 AL存入到 DI中。所以第 (5)空填写 “AL“。接着, SI地址加 1,准备取下一个字符,继续判断; DI地址加 1,准备存储下一个转换后或不需转换的字符。然后从 NEXT入口处循环,继续下一个字符的处理。一共循环 CX即 20次,才能完成程序的功能。所以第 (6)空填写 “SI“,第 (7)空填写 “DI“,第 (8)空填写 “LOOP“。

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

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

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