被调用程序入口地址

使用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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值