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

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

1、PC技术机试模拟试卷 51及答案与解析 一、程序设计题 1 请编制程序,其功能是:内存中连续存放着两个由 8位有符号整数组成的序列Ai和 Bi(i 0, , 9;下同 ), Ai在前, Bi在后。求序列 Ci, Ci=Ai+Bi。结果 Ci用字单元按 C0, , C9的顺序存放。 例如: 序列 Ai为: 80H(-128D), 31H(+49D), 61(+97D), 7FH(+127D), 序列 Bi为: 80H(-128D), 01(+1D), F1H(-15D), 7FH(+127D), 部分程序已经给出,其中 原始数据由过程 LOAD从文件 INPUT1 DAT中读入SOURCE开始的

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

3、) STAC ENDS DATA SEGMENT SOURCE DB N*2 DUP(?) ; 顺序存放 A0, L, A9, B0, L, B9 RESULT DW N DUP(0) ; 顺序存放 C0, L, C9 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 ;数据

4、区起始地址 LEA SI, NAME0 ;原始数据文件名 MOV CX, N*2 ;字节数 CALL LOAD ;从 “INPUT1.DAT“中读取数据 ; *+* BEGIN * MOV DI, OFFSET RESULT ;结果从 RESULT开始存放 MOV BX, 0 MOV CX, N PRO: MOV AH, 0 MOV AL, (1) ;序列 Bi中的一个整数 MOV DL, AL ;暂存 Bi (2) AL, SOURCEBX ; Ci Bi+Ai JNO STAY ;无溢出转 STAY JUMP1: MOV AH, 00 ;有溢出 ADD DL, 0 JNS JUMP ; B

5、i是正数 (为一个正数加上一个正数, ;结果为负数的溢出情况 )转 JUNP(AH ;已为 00H) MOV AH, (3) ; Bi是负数 (为一个负数加上一个负数, ;结果为 正数的溢出情况 )将结果变为 ;负数 JMP (4) STAY: (5) ; AL中数的符号扩展到 AH JUMP: MOV DI, AX ADD DI, 2 INC BX DEC CX JNZ PRO * END * LEA DX, RESULT ; 结果数据区首址 LEA SI, NAMEl ; 结果文件名 MOV CX, N*2 ; 结果字节数 CALL SAVE ; 保存结果到 文件 RET START ENDP CODE ENDS END START PC技术机试模拟试卷 51答案与解析 一、程序设计题 1 【正确答案】 (1)sourcebx+N (2)add (3)Offh (4)jump (5)cbw 【试题解析】 本题是一道有关序列的计算题,要解决类题应先找出三个关键点: 序列的范围: 序列中数据的类型; 计算方法。 本题是对两个序列中的数据按顺 序进行累加,结果存放在第三个序列中。 CBW和 CWD是两条符号扩展指令,其中 CBW是将 AL中数的符号扩展到 AH寄存器中,而 CWD是将 AX中数的符号扩展到 DX寄存器中。

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

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

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