计算机等级考试:三级PC技术数组处理程序设计

5星 · 超过95%的资源 需积分: 3 9 下载量 80 浏览量 更新于2024-07-31 收藏 1MB DOC 举报
"这是一份2011年计算机等级考试三级PC技术南开大学的上机考试题目,包含了100道题目,主要考察考生的编程能力。第一题要求编写程序,能够将内存中一个40字节的有符号数组分为正数和负数两部分,并计算它们各自的数量,结果分别存储在RESULT指示的内存区域。程序需要从名为'INPUT1.DAT'的文件中读取原始数据,处理后将结果保存到'OUTPUT1.DAT'文件中。考生需要填充或重新编写BEGIN和END之间的源程序,确保程序能正确运行并生成预期结果。" 在这道题目中,考生需要掌握以下知识点: 1. **汇编语言编程**:题目要求使用汇编语言编写程序,考生需要熟悉汇编语言的基本语法,包括指令的使用、寄存器操作以及流程控制。 2. **内存操作**:理解如何在内存中读取和写入数据,特别是数组的操作,这里涉及到了SOURCE和RESULT两个内存区域的处理。 3. **文件输入输出**:考生需要实现从'INPUT1.DAT'文件读取数据到内存,以及将处理后的结果保存到'OUTPUT1.DAT'文件中,这涉及到文件操作的相关函数调用。 4. **数组处理**:题目要求将40字节的有符号数组分成正数和负数两部分,需要考生掌握条件判断和循环结构,以遍历数组并根据数值的正负进行分类。 5. **计数与存储**:在处理过程中,需要计算正数和负数的个数,并将结果存放在RESULT内存区域,这涉及到计数变量的使用和内存的写入操作。 6. **程序结构**:理解并使用过程调用(如EXTRNLOAD和SAVE),以及程序的初始化和结束部分,如设置段寄存器、堆栈和数据段。 7. **程序调试**:考生需要对程序进行汇编、链接并运行,确保程序没有错误并能产生正确的结果,这涉及到程序调试技巧。 解答本题,考生需要具备扎实的汇编语言基础,理解数据在内存中的表示和处理方式,同时还需要熟悉文件操作和基本的程序设计流程。在编写程序时,可能需要使用到如CMP(比较)、JNZ(不等于跳转)、MOVS(移动存储)等汇编指令,以及利用CX寄存器进行循环计数,BX和DI寄存器用于指向数组元素,AL或AX寄存器用于临时存储数值等。