南开大学三级PC上机题100例:正负数数组处理
需积分: 6 44 浏览量
更新于2024-08-02
收藏 716KB DOC 举报
本题是一道关于计算机三级PC语言的编程题目,要求考生编写一个程序,将内存中由SOURCE指示的40个有符号数组元素分成正数和负数两个数组,并统计各自元素个数。结果需按照正数个数在前,然后是正数数组元素,接着是负数个数和负数数组元素的顺序存储在RESULT区域。原始数据通过过程LOAD从文件INPUT1.DAT中读入,而最终的结果则保存到OUTPUT1.DAT文件中。
程序设计需要遵循以下步骤:
1. 定义数据段(DATASEGMENT):
- SOURCE数组用于存放原始数据,长度为40个字节,值为1EH,91H,74H,91H,42H,30H,81H,F3H,18H,25H等。
- RESULT数组用于存放分组后的结果,预留空间比正数和负数元素总数多两个元素。
- 文件名变量NAME0和NAME1分别指向INPUT1.DAT和OUTPUT1.DAT。
2. 定义栈段(STACSEGMENT)和代码段(CODESEGMENT)的初始设置,使用标准段寄存器。
3. 编写主程序(STARTPROCFAR):
- 调用LOAD过程从NAME0指定的文件中读取40个字节的数据到SOURCE地址。
- 初始化处理流程,比如清零AX寄存器,设置附加段寄存器ES指向DATA段。
- 在BEGIN标记处,程序应该开始处理数据,检查每个元素的符号,将其放入相应的数组(正数或负数)。
- 使用指针DI和BX,DI指向PDATA(正数数组缓冲区),初始值为OFFSET PDATA,表示从PDATA开始存放正数。
- 当遍历到所有元素后,统计正数和负数的数量,并更新RESULT数组。
- 将正数数组和正数个数、负数数组和负数个数依次存储到RESULT。
- 调用SAVE过程,将RESULT中的数据保存到NAME1指定的OUTPUT1.DAT文件中。
4. 函数调用:
- EXTRN LOAD:FAR 和 SAVE:FAR 表示这两个过程是外部函数,需要链接IO.OBJ文件以生成可执行文件PROG1.EXE。
5. 要求程序进行汇编和链接,最后生成可执行文件并运行。如果调试过程中发现错误,考生需要修正这些错误以确保程序的正确运行。
本题考核了考生对基本数据结构操作、文件I/O、内存管理以及条件判断等计算机基础知识的理解和应用能力。同时,也要求考生具备良好的程序设计习惯,包括清晰的逻辑结构和错误处理。
2010-03-26 上传
2010-03-29 上传
2011-06-01 上传
2023-09-20 上传
2023-07-28 上传
2023-12-11 上传
2023-09-26 上传
2023-10-27 上传
2023-10-09 上传
kalinxu
- 粉丝: 3
- 资源: 13
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全