【计算机类职业资格】三级PC技术机试-97及答案解析.doc

上传人:jobexamine331 文档编号:1320230 上传时间:2019-10-17 格式:DOC 页数:3 大小:32.50KB
下载 相关 举报
【计算机类职业资格】三级PC技术机试-97及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】三级PC技术机试-97及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】三级PC技术机试-97及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、三级 PC技术机试-97 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.请编制程序,其功能是:内存中连续存放着 20个无符号二进制字序列 Xi(i1,2,20),字的最高 3位为 000,此序列对应某一信号在一段时间内的连续变化,现对该信号进行一阶低通数字滤波,其滤波方程为:Yi(15*Yi-1/16)+(Xi/16),Y00Yi(i1,2,20)为滤波后得到的新序列,结果存入内存。例如:内存中有 01FFH,02FFH结果 001H,004DH部分程序已经给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入 SOURCE

2、开始的内存单元中,转换结果要求从 RESULT开始存放,由过程 SAVE保存到文件 OUTPUT1.DAT中。请填空 BEGIN和 END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去 BEGIN和 END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与 IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:(分数:100.00)_三级 PC技术机试-97 答案解析(总分:100.00,做题时间:90 分

3、钟)一、上机题(总题数:1,分数:100.00)1.请编制程序,其功能是:内存中连续存放着 20个无符号二进制字序列 Xi(i1,2,20),字的最高 3位为 000,此序列对应某一信号在一段时间内的连续变化,现对该信号进行一阶低通数字滤波,其滤波方程为:Yi(15*Yi-1/16)+(Xi/16),Y00Yi(i1,2,20)为滤波后得到的新序列,结果存入内存。例如:内存中有 01FFH,02FFH结果 001H,004DH部分程序已经给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入 SOURCE开始的内存单元中,转换结果要求从 RESULT开始存放,由过程 SAVE保存

4、到文件 OUTPUT1.DAT中。请填空 BEGIN和 END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去 BEGIN和 END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与 IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:(分数:100.00)_正确答案:(BX(2)ADD(3)SUB(4)MOV BX,AX(5)INC DI(6)INC SI)解析:解析此程序要实现的功能是:内存中连续存放着

5、 20个无符号二进制字序列 Xi(i1,2,20),字的最高 3位为000,此序列对应某一信号在一段时间内的连续变化,现对该信号进行一阶低通数字滤波,其滤波方程为:Yi(15*Y i-1/16)+(Xi/16),Y00。Y i(i1,2,20)为滤波后得到的新序列,结果存入内存。此程序的关键是要会将滤波方程灵活地拆开来,才能更好地理解程序。上面的公式可以拆成这样:Y iY i-1+Xi/16-Yi-1/16,Y0=0。Y i(i1,2,20)。程序的堆栈段定义了一个 128个字节的堆栈区。堆栈段下面是数据段。数据段中定义了两个字型变量:原始数据区 SOURCE、结果数据区 RESULT;两个字

6、节型变量:原始数据文件名 NAME0、结果数据文件名NAME1。数据段下面是代码段,告诉汇编程序,代码段、数据段和堆栈段分别属于段寄存器 CS、DS、SS。先将原始数据的偏移地址装入到 SI中,结果数据存放的偏移地址装入到 DI中。CX 赋值为 N,用于控制循环处理的次数。BX 赋初值为 0,表示 Y00。注意:BX 总是存放前一计算的结果,即 Yi-1。AGN0段,先将 BX暂存 DX,表示 Yi-1。所以第(1)空填写“BX“。取第一个无符号二进制字即 SI 中内容 Xi送 AX,然后将 CX压入堆栈,保存原现场,再给 CX赋值为 4,等用完了 CX的这个值后,将 CX从堆栈中弹出,返回操

7、作系统。AGN1段,先将 BX和 AX都逻辑右移一位,然后再从 AGN1入口处循环,继续将 BX和 AX逻辑右移一位,这样一共循环四次,就将 BX和 AX都逻辑右移了四位,即 BX和 AX的值都变成了原来的 1/16,即 Yi-1/16和Xi/16。然后将 CX从堆栈中弹出。将 AX即 Xi/16与 DX即 Yi-1相加,结果先放 AX中。然后再将 AX减去 BX即 Yi-1/16,结果放 AX中,就得到了 Yi的值。然后将结果 AX印 Yi存入到 DI中。再将 AX值即 Yi赋给BX,BX 将作为计算下一个值 Yi+1,的参照数。DI 地址两次加 1,准备存储下个 Yi, SI地址也两次加 1,准备取下一个 Xi进行计算。因为原始数据 Xi和结果数据 Yi都是 字序列,每个数存放在内存中连续两个地址空间中。然后从 AGN0入口处循环,继续计算,进行下一次滤波,得到下一个值即 Yi+1。从上面的分析来看,第(2)空填写“ADD“,第(3)空填写“SUB“,第(4)空填写“MOV BX, AX“,第(5)空填写“INC DI“,第(6)空填写“INC SI“。

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

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

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