- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4 一 396
FOXPRO2.5与汇编语言的接口技术
杨晓荣 王 凉
(西藏大学〕
摘 要 本文结合实例全面系统地介绍FoxPro2.5与汇编语言的接口技术,包括汇编语盲子程序、汇编
语言外部函数的开发及调用方法,以及外部程序库API的建立和使用。
关,词 FOXPR02.5汇编语言 接口 子程序 外部函数 外部程序库API
1 引 言
FOXPRO2.5数据库系统是MICROSOFT公司的新一代数据库系统,它以运行速度高、良好的
界面、丰富的功能颇受用户青睐。然而,它也存在着系统本身占用内存空间较大,对计算机的低层
结构访问和处理能力差以及绘图功能不强的缺点,限制了它的使用范圈。
与FOXPRO2.5语言相反,汇编语言低层功能很强大,速度快。我们可采用FOXPRO2.5的
RUN八功能调用一些用汇编语言编写的外部可执行程序.以弥补其不足,条件是必须有足够的空
闲内存。但是,操作系统、中文DOC以及FOXPRO2.5几乎用尽了常规内存,特别是加上网络系
统,内存就更紧张了。这样用RUN/!命令只能调用一些较小的程序。况且外部文件执行完返回
FOXPRO时,原来的屏幕常常被破坏了,这对程序员来说简直是一种灾难!
由此,我们不得不回到FOXPRO2.5与汇编语言的接口上来。我们在用FOXPRO编写用户程
序时,结合汇编语言,利用其开发具有某些特殊功能的子程序.值为FOXPRO的外部函数,充分发
挥汇编优势,弥补FOXPRO2.5本身的不足,从而编写出完普可靠的大型软件系统。
本文主要内容有三个方面:-.FOXPRO2.5的汇编语言子程序的产生及调用方法。二FOX-
PRO2.5的汇编语言子程序实例。三.FOXPRO2.5的汇编语言外部程序库API的建立及使用。
本文所附程序均在MASM6.0和FOXPRO2.5FORDOS下调试通过。
2 汇编语言子程序的生成及调用方法
2.1趁立一个汇编语官子程序(即二进制文件)必须遵循的规则
. 偏移量100H处必须是一条可执行指令。(说明:作者发现多种资料上认为 “偏移量OOH
处必须是一条可执行指令”.但按其说法上机并不能通过。
. 程序运行过程中,不能通过参数改变FOXPRO的内存变量的长度,即不得改变DS-.bx传
递过来的变量长度。
. 程序运行所用的空间不得超过实际程序的大小,因为LOAD命令是以文件的长度确定所
需内存的大小的.也就是说程序不能在运行中动态申请内存。
: 在控制返回到FOXPRO之前,必须恢复寄存器ss和c,的原值。
程序结束时用远返回把控制权交给FOXPRO.即用RETF指令结束程序,或指定子程序的
4 一 397
属性为faro
2.2汇编语言子程序的生成步骇
2.2.1使用MASM对汇编语言的源程序进行编译,生成.OBI目标代码文件。
2.2.2 使用LINK对目标代码文件进行链接,生成EXE可执行文件。
2.2.3 使用EXE2BIN将可执行文件转换成BIN文件。
至此FOXPRO2,5汇编语言子程序(.BIN文件)生成,下面我们介绍其调用所需的三个命令。
2.3LOAD命令
LOAD命令的一般格式为:
LOAD(FILENAME)[SAVEH[NOSAVE]
LOAD命令将二进制文件从磁盘装入内存中.FOXPRO允许同时装入内存16个程序,且每个
程序最大可达64K,二进制程序的默认扩展名为.BIN。文件装入时,文件为模块名,扩展名不再使
用。
LOAD命令中可以指定选项SAVE或NOSAVE,狱认值是NONAME 。如果指定了SAVE选
项,FOXPRO在从二进制程序返回时,将视屏幕显示存贮区(VIDERAM)中的内容拷贝到DESK-
TOP(假定二进制程序直接写了视屏显示存贮区),这就意味着FOXPRO把所有由二进制程序输出
的信息.看成FOXPRO本身输出的信息。
除非特殊需要,一般不要使用SAVE选项,因为在一次从二进制程序返回时.FOXPRO
您可能关注的文档
- Hybrid+Ⅲ六岁儿童假人头颈部多刚体模型的建立及验证研究.pdf
- FeNi3合金的制备及其电化学性能研究.pdf
- HYDRAN201i主变在线监测系统在神头二电厂的应用与探讨研究.pdf
- HYDRIS直接定氢系统在炼钢过程中的使用与维护研究.pdf
- HYL希尔工艺采用焦炉煤气或合成气生产直接还原铁DRI研究.pdf
- FeNi系坡莫合金的研究开发最新进展研究.pdf
- FOM网管SNMP+Manager的设计与实现研究.pdf
- HY分子筛改性海藻酸钙复合载体的酵母固定化及在燃料乙醇制备中的应用研究.pdf
- ForCES路由器中嵌套事务的应用研讨.pdf
- ForCES通道传输方案及性能模型研讨.pdf
- FoxPro+for+Windows在多媒体数据库开发中的应用研究.pdf
- FOXPRO中FPT文件丢失的处理及DBF文件加密研究.pdf
- FPGA和EPLD器件的仿真研究.pdf
- FPGA互连结构与布局布线算法研讨.pdf
- FACTS装置交直转换过程中的功率分析研究.pdf
- Factors influencing the formation of entrepreneurs in China and the United States研究.pdf
- FPGA建模过程中的时序与功耗参数抽取与精度调整研究.pdf
- FPGA连线资源故障的诊断研究.pdf
- FANUC0系统主轴伺服维修研究.pdf
- FPGA平台的实时全景视频系统设计研究.pdf
文档评论(0)