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

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

1、PC技术机试模拟试卷 1及答案与解析 一、程序设计题 1 对内存单元中连续存放的 20个 ASCII字符进行转换,大写的 “AZ”转换成小写,小写的 “a-z”转换成大写,其他字符变为 00,结果存放在 RESULT开始的内存单元中。部分程序已经在 PROG1 ASM中给出,请编写 BEGIN到 END之间代码。 原有数据由过程 LOAD从文件 INPUT1 DAT中读入 SOURCE开始的内存单元中,结果要求从 RESULT开始存放,由 SAVE保存到 OUTPUT1 DAT文件。 对程序必须进行汇编,并与 10 OBJ连接产生 PROG1 EXE执行文件,最终产生运行结果 (无结果或结果不

2、正确均不得分 )。 部分源程序如下: EXTRN LOAD:FAR, SAVE:FAR N EQU 20 STAC SEGMENT STACK DB 128DUP(?) STAC ENDS DATA SEGMENT SOURCE DB N DUP(?) RESULT DB N 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

3、, DATA MOV DS, AX MOV ES, AX LEA DX, SOURCE ;数据区起始地址 LEA SI, NAMED ;原始数据文件名 MOV CX, N ;字节数 CALL LOAD ;从 “IArPUT1 DAT“中读取数据 *BEGIN* *END* LEA DX, RESULT ;结果数据区首地址 LEA SI, NAME1 ;结果文件名 MOV CX, N ;结果字节数 CALL SAVE ;保存结果到文件 RET START ENDP CODE ENDS END START 相关知识: 定义符号伪指令 指令功能:给一个表达式分配一个符号名或给一个符号分配一个值。 指

4、令格式: (i)符号 EQU表达式 (不允许符号重定义 ) (ii)符号 =表达式 (允许符号重定义 ) 数据定义伪指令 指令格式: (i)名字 DB操作数 1,操作数 2, (为每个操作数分配 1个字节的空间 ) (ii)名字 DW操作数 1,操作数 2, (为每个操作数分配 2个字节的空间 ) (iii)名字 DD操作数 1,操作数 2, )(为每个操作数分配 4个字节的空间 ) (iV名字 DQ操作数 1,操作数 2, (为每个操作数分配 8个字节的空间 ) (v)名字 DT操作数 1,操作数 2, (为每个操作数分配 10个字节的空间 ) 段定义伪指令 指令格式:段名 SEGMENT

5、定位方式 联系方式 类别 ) 使用段定义伪指令可以将程序和有关的数据信息定义在相应的段中。 循环的实现 通过设置计数器初值,在完成一组操作后,修改计数器中的值,重新执行操作直到计 数器中的值为 0。 例如: MOV CX, N LI: LOOP L1(短标号地址 ) 或: DEC CX JNZ 11(短标号地址 ) 注意:本书学习要点讲过的内容,本章节不予赘述。 字符的 ASCII码 十六进制数 “0” “F”是连续的,它们的 ASCII码不是连续的,但仍然有规律可循, “0”“9”的 ASCII码为 30H 39H, “A” “F”的 ASCII码为 41H 46H, “A”“Z”的 ASC

6、II是从 41H开始连续的, “a” “z”的 ASCII是从 61H开始连续的。 编程方法: 第一步:分析程序要求的功能。 本程序要求完成以下功能: (1)从数据文件 INPUT1 DAT中读取 20个 8位无符号整数存放在 SOURCE开始的内存单元中。 (2)将 SOURCE开始的 20个 ASCII码进行判断,处理,并将结果存放在RESULT开始的内存单元中。 (3)将处理结果存放在 0UWUT1 DAT文件 第二步:用相应的汇编程序来实现其功能。 (1)数据的读取和存人文件部分的实现,题目中已经给出。 (2)大小写判断转换处理,我们可根据英文大写字母 “A Z”和小写字母 “a z”

7、的 ASCII码是连续的,并且同字母的大小写的 ASCII码相差 20H,可以直接在其ASCII码上加减 20H进行大小写的转换。 处理过程就是,从数组中取来一个元素,先判断它是否是大写,若为大写,则直接减 20H变为小写;否则判断它是否为小写,若为小写,直接减 20H变为大写;若大小写均不是,就赋值为 0。重复操作所有的元素。 PC技术机试模拟试卷 1答案与解析 一 、程序设计题 1 【正确答案】 LEASI, SOURCE UCA DI, RESULT MOV CX, N LOOP1: MOV AL, SI CMP AL, A JB SAVE_0_TO_RESULT ;不是大小写;存 0 CMP AL, Z JA LOWER ;不是大写,转到判断是否为 小写 ADD AL, 20H ;大写,转换成小写保存 JMP SAVE_To_RESULT LOWER: CMP AL, a JB SAVE_0_To_RESULT ;不是大小写,存 0 CMP AL, z JA SAVE_0_To_RESULT ;不是大小写,存 0 SUB AL, 20H ;小写,转换成大写,保存 JMP SAVE To RESULT SAVE 0 TO RESULT: MOV AL, 0 SAVE TO RESULT: MOV DI, AL INC SI INC DI LOOP lOOP1

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

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

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