三级PC技术机试-94.doc

上传人:scccc 文档编号:13192975 上传时间:2021-12-18 格式:DOC 页数:2 大小:23KB
返回 下载 相关 举报
三级PC技术机试-94.doc_第1页
第1页 / 共2页
三级PC技术机试-94.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《三级PC技术机试-94.doc》由会员分享,可在线阅读,更多相关《三级PC技术机试-94.doc(2页珍藏版)》请在三一文库上搜索。

1、三级PC技术机试-94(总分:100.00,做题时间:90分钟)、上机题(总题数:1,分数:100.00)1.请编制程序,其功能是:内存中有一个由 16个十六位二进制数组成的数组 (SOURCE和一个字变量L。试 将L作为逻辑尺对数组 SOURC进行下列处理:女口 L的第i位为0,则数组的第i个数不变:如L的第i位 为1,则数纽的第i个数按位取反。字L的位序从低到高依次为 0至15,数组下标依次从 0到15。例如:L=0009H数组为:139CH, 89C6H 5437H,8819H,变换为:EC63H 89C6H 5437H,77E6H,部分程序已给出,其中原始数据由过程 LOAD从文件IN

2、PUT.DAT中读入(L在前,SOURC在后)。运算结果要 求从RESULTS始存放,由过程 SAVE保存到文件OUTPUT.DA中。请填空BEGIN和END之间已给岀的源程序使其完整,空白已用横线标岀,每个空白一般只需一条指令,但 采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序 中存在错误之处,请加以修改。试题程序EXTRN LOAD FAR SAVE FARN EQU 16STAC SEGMENT STACKDB 128 DUP (?)STAC

3、 ENDSDATA SEGMENTL DW ?SOURCE DW N DUP(?)RESULT DW N DUP(0)NAME0 DB 'INPUT. DAT',0NAME1 DB 'OUTPUT DAT',0DATA ENDSCODE SEGMENTASSUME CS CODE DS: DATA SS : STACSTART PROC FARPUSH DSXOR AX AXPUSH AXMOV AX DATAMOV DS AXLEA DX, L ;数据区起始地址LEA SI,NANE0;原女合数据文件名MOV CX 2*(N+1);字节数CALL LOAD;

4、从'INPUT . DAT'中读取数据* BEGIN*LEA SI, SOURCE(1_MOV CX NMOV DX (2)LO: MOV AX SI(3) L , DX(4) STORENOT AXSTORE MOV DI , AXADD DI, 2ADD SI, 2(5) _LOOP LO; * END *LEA DX RESULT; 结果数据区首址LEA SI , NAME1;结果文件名MOV CX 2*N ;结果字节数CALL SAVE ;保存结果到文件RETSTART ENDPCODE ENDSEND START(分数:100.00 ) 正确答案:(1)LEADI , RESULT (2)1 (3)TEST (4)JP (5)SHR L,1)解析:解析本题是一道逻辑运算题,其主要解决的问题是确定运算范围和选择计算方法。本题的运算范围题目中已明确给岀是16个十六位二进制数,每个二进制数用两个字节表示,所以原始数据占32个字节。题目要求用一个字数据的 16个二进制位来表示需要处理的16个十六位二进制数,因此计算方法是一个难点问题。首先从最低位开始判断对应的二进制位是。还是1,如果是。直接将对应的数据存入结果数据区,如果是1,将原始数据取反后存入结果数据区,这样就完成了一个数据的处理,对每一个需要处理的数据 均进行上述处理即可。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1