子程序调用

假定程序包 含子程序:
PROGRAM FORMPOOL.
FORM SUB1.
WRITE: / ‘Subroutine 1‘.
ENDFORM.
FORM SUB2.
WRITE: / ‘Subroutine 2‘.
ENDFORM.
可在运行时 指定子程序 名,如下所 示:
PROGRAM SAPMZTST.
DATA: PROGNAME(8) VALUE ‘FORMPOOL‘,
SUBRNAME(8).
SUBRNAME = ‘SUB1‘.
PERFORM (SUBRNAME) IN PROGRAM (PROGNAME) IF FOUND.
SUBRNAME = ‘SUB2‘.
PERFORM (SUBRNAME) IN PROGRAM (PROGNAME) IF FOUND.

时间: 2024-10-23 14:08:41

子程序调用的相关文章

一步步Cobol 400上手自学入门教程06 - 子程序调用

子程序的命名通常和普通程序的命名方式相同.但是需要注意的是,对于子程序而言,不可将其前缀命名为以下这几个名字. AFB           AFH           CBC          CEE          EDC IBM            IFY             IGY            IGZ            ILB 实际上,以上名字都属于IBM相关产品的名字.如果将子程序的前缀命名为以上名字,则在主程序中将不能对其进行调用.当在主程序中试图调用该子程序时,

汇编--子程序结构

过程名 PROC NEAR ( FAR ) 过程名 ENDP 子程序的类型属性 (1)NEAR属性:调用程序和子程序在同一代码段中 (段内调用) (2)FAR属性:调用程序和子程序不在同一代码段中 (段间调用) 子程序调用:隐含使用堆栈保存返回地址 子程序与分支程序的最大区别 子程序执行完要返回到主程序,也就是返回到CALL指令的下一条继续执行.在子程序中用RET指令作为返回指令.主程序和子程序的关系如图所示. RET 返回指令 主程序将子程序的入口参数压入堆栈,子程序从堆栈中取出参数 子程序将

(转载)R14也称作子程序连接寄存器

R14也称作子程序连接寄存器(Subroutine Link Register)或连接寄存器LR.当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份. 其他情况下,R14用作通用寄存器.与之类似,当发生中断或异常时,对应的分组寄存器R14_svc.R14_irq.R14_fiq.R14_abt和R14_und用来保存R15的返回值. 寄存器R14常用在如下的情况: 在每一种运行模式下,都可用R14保存子程序的返回地址(也就是 R15  PC ),当用BL或BLX指令调用子程序

C#调用SendMessage 用法

函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.该函数是应用程序和应用程序之间进行消息传递的主要手段之一.    函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam): 参数: hWnd:其窗口程序将接收消息的窗口的句柄.如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口.被覆盖的

C语言的传值与传址调用

传值调用并不能改变两个变量的值,而传址能. 为什么,因为,传值调用,仅仅是在函数内,调换参数的值. 而地址所指向的值,改变的不仅仅是函数内,函数外也改变. 请看代码: 这里还要注意:通常我们不会返回局部变量的地址. 1 #include <stdio.h> 2 3 void swap_value(int x,int y) 4 { 5 int temp; 6 temp = x; 7 x = y; 8 y = temp; 9 printf("传值函数内的输出 %d %d \n"

perl5 第八章 子程序

第八章 子程序 by flamephoenix 一.定义二.调用  1.用&调用  2.先定义后调用  3.前向引用  4.用do调用三.返回值四.局部变量五.子程序参数传递  1.形式  2.传送数组六.递归子程序七.用别名传递数组参数八.预定义的子程序 一.定义   子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读.PERL中,子程序可以出现在程序的任何地方.定义方法为:  sub subroutine{    statements;  }二.调用   调用方法如下

Perl学习笔记(四)--子程序

定义子程序: 要定义自己的子程序,可使用关键字sub,子程序名(不包含与号)以及用花括号封闭起的代码块,例如: 1 sub marine{ 2 $n +=1; #全局变量 $n 3 Print “Hello,sailor number $n \n”; 4 } 子程序不需要事先声明 子程序的定义是全局的,不存在私有子程序 假如定义两个重名的子程序,后面的子程序会覆盖掉前面的那个 调用子程序 1 &marine; 返回值 子程序中最后一次运算的结果都会被自动当成子程序的返回值 参数 要传递参数列表到

软件架构————如何写好类中的子程序

子程序的优点: 子程序的使用时的程序变得更加易读,更加易于理解. 子程序用以节约空间和提高性能的最重要的手段. 创建子程序的理由: 1.降低复杂度:可以隐藏一些信息:当内部循环或条件判断的嵌套层次很深时,这就需要从子程序中提取新的子程序了. 2.引入中间.易懂的抽象 3.避免代码重复:事实上,如果在两段子程序内有相似的代码,就以为这代码分解有问题,应该把相似的代码提取出来,将其中相同部分放入一个基类,然后再把两段程序中的差异代码放入派生类中. 4.支持子类话:覆盖简短而规整的子程序所需新代码的数

Perl 学习笔记-子程序

1.定义子程序 使用sub关键字定义 ;   子程序名和标识符同要求, 但是有的特殊的可以用 &符号;  子程序是全局的, 不需要再使用前声明;  重名函数后者覆盖前者. sub roger{ $n += 1; #全局变量$n print "Hello , sailor number $n!\n"; } &roger # 前面加&来调用, 不过没加好像也能调用. 返回值: 在子程序执行过程中会不断运算, 而最后一次运算的结果(不管是什么)都会被当成子程序的返回值