南开大学三级PC考试:数组处理程序设计
需积分: 6 37 浏览量
更新于2024-10-25
收藏 716KB DOC 举报
"南开100题,3级pc"
该题目是针对计算机三级考试的一个编程题目,主要考察考生的汇编语言编程能力。题目要求编写一个程序,该程序能够处理内存中由SOURCE指向的40个字节的有符号整数数组,将数组分为正数和负数两个子数组,并计算出各自的元素个数。结果应存储在RESULT指定的内存区域,以特定的格式:首先存放正数的个数,然后是正数数组元素,接着是负数的个数,最后是负数数组元素。
已给出的部分程序中,数据段定义了SOURCE和RESULT两个变量,分别用于存放原始数组和处理后的结果。此外,还有NAME0和NAME1用于存放输入和输出文件的名称,以及NDAT和PDAT用于临时存放数据。代码段中,程序首先设置了数据段和附加段寄存器,并通过LOAD过程从名为'INPUT1.DAT'的文件中读取数据到SOURCE数组。
在给定的代码段中,"****BEGIN****"标记处是需要填写或修改的代码部分,这部分程序应该实现以下功能:
1. 遍历SOURCE数组,判断每个元素的正负。
2. 将正数存储到PDATA缓冲区,负数存储到另一缓冲区。
3. 计算正数和负数的个数。
4. 将计数结果存放在RESULT的前两个字节,正数个数在前,负数个数在后。
5. 将正数和负数数组元素按照要求的顺序存放在RESULT的剩余部分。
6. 最后,调用SAVE过程将结果保存到名为'OUTPUT1.DAT'的文件中。
完成这些任务时,可以使用循环结构和条件判断语句,如JGE(大于等于转移)和JL(小于转移)来区分正负数。同时,需要动态更新存放正数和负数计数的变量。注意,程序需要确保所有操作都在限制的内存和指令数量内完成,并且在完成后能够正确地保存结果。
由于题目要求的程序实现未给出,因此无法提供完整的代码实现。但是,考生需要根据以上分析,结合题目给出的程序框架,编写符合要求的汇编代码,确保程序能正确运行并产生符合格式的结果。如果在调试过程中发现程序有错误,需要进行修正以保证程序的正确性。
2011-09-14 上传
2009-04-15 上传
2009-07-02 上传
2023-10-10 上传
2024-10-27 上传
2023-07-28 上传
2024-10-27 上传
2023-11-04 上传
2023-12-15 上传