精通COBOL--11.1.2 提高部分功能段执行效率
2008-04-29 10:14
656 查看
COBOL可调用的子程序并不一定要求由COBOL所编写。实际上,COBOL语言所调用的子程序是可以由其他语言编写的,如汇编语言、PL/1语言等等。
对于某些功能,使用其他语言编写往往执行效率会更高。例如,在大型机环境下使用S/390汇编语言编写的程序,通常运行效率就比使用COBOL编写的要高。但是,汇编语言编写起来是不如COBOL方便的。因此,通常可以以COBOL编写主程序,而将其中经常使用的部分功能段使用汇编语言编写。这样,既不会过于增大开发难度,也能从整体上提高程序的运行效率。
例如,下面这段COBOL程序便调用了汇编程序。其中所调用的程序名为ASMPGM,传递的参数依次为DATA1、DATA2、DATA3。该COBOL程序代码如下。
IDENTIFICATION DIVISION.
PROGRAM-ID CALL-ASM-PROG.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
77 DATA1 PIC X.
77 DATA2 PIC X.
77 DATA3 PIC X.
……
*
PROCEDURE DIVISION.
……
CALL ‘ASMPGM’ USING DATA1
DATA2
DATA3.
……
STOP RUN.
所调用的汇编程序通常可以如下。
ASMPGM CSECT
STM R14,R12,12(R13)
BALR R12,R0
USING *,R12
LM R2,R4,0(R1)
……
BCR B’1111’,14
DC A(PARM1)
DC A(PARM2)
DC X’80’,AL3(LASTPARM)
END ASMPGM
该汇编程序中,R2、R3、R4这3个寄存器将分别与COBOL中的3个参数相对应。其中R2与DATA1相对应,R3与DATA2相对应,R4与DATA3相对应。
此处主要是为了说明通过COBOL可以调用其他语言编写的子程序,并以此提高程序整体执行效率。关于大型机上的汇编语言将在后面的章节中进行讲解,这里不必深究。
对于某些功能,使用其他语言编写往往执行效率会更高。例如,在大型机环境下使用S/390汇编语言编写的程序,通常运行效率就比使用COBOL编写的要高。但是,汇编语言编写起来是不如COBOL方便的。因此,通常可以以COBOL编写主程序,而将其中经常使用的部分功能段使用汇编语言编写。这样,既不会过于增大开发难度,也能从整体上提高程序的运行效率。
例如,下面这段COBOL程序便调用了汇编程序。其中所调用的程序名为ASMPGM,传递的参数依次为DATA1、DATA2、DATA3。该COBOL程序代码如下。
IDENTIFICATION DIVISION.
PROGRAM-ID CALL-ASM-PROG.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
77 DATA1 PIC X.
77 DATA2 PIC X.
77 DATA3 PIC X.
……
*
PROCEDURE DIVISION.
……
CALL ‘ASMPGM’ USING DATA1
DATA2
DATA3.
……
STOP RUN.
所调用的汇编程序通常可以如下。
ASMPGM CSECT
STM R14,R12,12(R13)
BALR R12,R0
USING *,R12
LM R2,R4,0(R1)
……
BCR B’1111’,14
DC A(PARM1)
DC A(PARM2)
DC X’80’,AL3(LASTPARM)
END ASMPGM
该汇编程序中,R2、R3、R4这3个寄存器将分别与COBOL中的3个参数相对应。其中R2与DATA1相对应,R3与DATA2相对应,R4与DATA3相对应。
此处主要是为了说明通过COBOL可以调用其他语言编写的子程序,并以此提高程序整体执行效率。关于大型机上的汇编语言将在后面的章节中进行讲解,这里不必深究。
相关文章推荐
- 如何提高单片机程序执行效率?
- 提高执行效率,珍惜享受活着的时间
- SQL教程:提高SQL执行效率的几点建议
- php 关于程序提高执行效率的方面
- 通用线程:POSIX 线程详解,第 3 部分 使用条件变量提高效率
- 使用数据库连接池提高执行效率
- 提高SQL执行效率的几点建议:
- 对提高ASP执行效率的几点看法
- [转]30个提高Web程序执行效率的好经验
- 提高IIS服务器的执行效率
- 提高SQL的执行效率的ASP的五种做法
- 如何优化JAVA代码及提高执行效率
- 50个技巧提高PHP网站的执行效率
- ORACLE-Select语句执行顺序及如何提高Oracle 基本查询效率
- 先锋缓存类(极度加速ASP和提高执行效率)
- 如何测试sql语句性能,提高执行效率
- 为何多线程就能提高Java程序的执行效率
- 在Win7右键菜单中增加"移动到"和"复制到"的功能,提高工作效率
- 合理优化数据库表结构提高项目执行效率[数据库设计]
- 先锋缓存类(极度加速ASP和提高执行效率)