精通COBOL--11.4.3 被调用程序中的入口地址
2008-04-29 10:26
337 查看
使用COBOL语言编写的程序调用通常只用提供被调用程序的程序名以及所传递的参数。然而,真正在系统内部实现的程序调用,则按以下步骤执行。
q 保护现场
q 访问被调用程序的入口地址
q 进入并执行被调用程序
q 退出被调用程序
q 恢复现场
由此可见,被调用程序的入口地址在程序调用中是十分重要的。该入口地址决定了在何处能够访问到被调用程序。通常,在COBOL高级语言中,被调用程序的入口地址是通过程序名反映出来的。例如,下面为一段被调用程序代码。
IDENTIFICATION DIVISION.
PROGRAM-ID CALLED-PGM.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
……
LINKAGE SECTION.
77 CALLED-PARM PIC X.
*
PROCEDURE DIVISION USING CALLED-PARM.
……
GOBACK.
以上程序的入口地址直接通过编译后的程序名反映出来。该程序名为CALLED-PGM。因此,在主调用程序中使用CALL语句对其调用的方式如下。
CALL ‘CALLED-PGM’ USING CALLING-PARM.
除此之外,还可在被调用程序中通过ENTRY语句指定选择性入口地址。主调用程序同样可以通过该选择性入口地址实现程序的调用。当在以上被调用程序中通过ENTRY语句指定选择性入口地址时,该程序代码如下。
IDENTIFICATION DIVISION.
PROGRAM-ID CALLED-PGM.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
……
LINKAGE SECTION.
77 CALLED-PARM PIC X.
*
PROCEDURE DIVISION USING CALLED-PARM.
……
GOBACK.
ENTRY ‘ALTENTRY’ USING CALLED-PARM.
……
GOBACK.
此时,在主调用程序中,便可通过使用ENTRY语句定义的选择性入口地址实现程序调用。调用方式如下。
CALL ‘ALTENTRY’ USING CALLING-PARM.
q 保护现场
q 访问被调用程序的入口地址
q 进入并执行被调用程序
q 退出被调用程序
q 恢复现场
由此可见,被调用程序的入口地址在程序调用中是十分重要的。该入口地址决定了在何处能够访问到被调用程序。通常,在COBOL高级语言中,被调用程序的入口地址是通过程序名反映出来的。例如,下面为一段被调用程序代码。
IDENTIFICATION DIVISION.
PROGRAM-ID CALLED-PGM.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
……
LINKAGE SECTION.
77 CALLED-PARM PIC X.
*
PROCEDURE DIVISION USING CALLED-PARM.
……
GOBACK.
以上程序的入口地址直接通过编译后的程序名反映出来。该程序名为CALLED-PGM。因此,在主调用程序中使用CALL语句对其调用的方式如下。
CALL ‘CALLED-PGM’ USING CALLING-PARM.
除此之外,还可在被调用程序中通过ENTRY语句指定选择性入口地址。主调用程序同样可以通过该选择性入口地址实现程序的调用。当在以上被调用程序中通过ENTRY语句指定选择性入口地址时,该程序代码如下。
IDENTIFICATION DIVISION.
PROGRAM-ID CALLED-PGM.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
……
LINKAGE SECTION.
77 CALLED-PARM PIC X.
*
PROCEDURE DIVISION USING CALLED-PARM.
……
GOBACK.
ENTRY ‘ALTENTRY’ USING CALLED-PARM.
……
GOBACK.
此时,在主调用程序中,便可通过使用ENTRY语句定义的选择性入口地址实现程序调用。调用方式如下。
CALL ‘ALTENTRY’ USING CALLING-PARM.
相关文章推荐
- 精通COBOL--11.4.1 被调用程序中参数的定义
- 精通COBOL--11.4.2 被调用程序中参数的引用
- 精通COBOL--16.5.1 使用LINK命令进行程序调用
- 精通COBOL--16.5.2 使用XCTL命令进行程序调用
- 精通COBOL--11.3 主调用程序
- 精通COBOL--11.5.2 静态调用程序示例
- 精通COBOL--11.3.1 主调用程序中参数的定义
- 精通COBOL--16.5 CICS中的程序调用
- 精通COBOL--11.3.2 主调用程序中的调用过程
- 精通COBOL--11.4 被调用程序
- 精通COBOL--11.6.2 动态调用程序示例
- 程序入口自动调用 controller 的方法
- 嵌入式中 固化函数接口,并通过函数的入口地址来调用
- 程序入口地址的直接定制表【 (1) 清屏(2) 设置前景色 (3) 设置背景色 (4) 向上滚动一行】
- 如何获得RVA(相对虚地址)的值,从而得到一个程序的入口点
- webservice实际应用之调用外部系统提供的服务端地址,写java的webservice客户端程序并通过接口给外部系统传数据
- 精通COBOL--11.7.2 嵌套子程序的调用权限
- 精通COBOL--16.2.1 CICS程序编译流程
- java程序调用.net接口服务地址的写法
- 改程序入口地址