IBM大型机操作系统 学习笔记(4)

昨天学习了实用程序的调用,鉴于时间关系,只实践了IBEGENER的内容,等有时间了再补上。今天学习了流内过程和编目过程的调用,感觉哈好,就是有一点让我很不爽:我写不出复杂点的JCL语句。这个就郁闷了。没办法,慢慢熟悉吧。

[基本概念]

过程 :过程是一段预先编写好的JCL语句的集合,它可以被反复调用.包括编目过程和流内过程.

编目过程 :在指定的过程库中编目的过程.该过程库可以是分区数据集或扩展分区数据集,通常系统过程被编目在系统过程库,用户过程被编目在用户过程库.由于调用编目过程时,系统所提供的是该过程的拷贝,所以一个编目过程可以同时被几个作业调用.

流内过程 : 放置在作业输入流中的过程. 在一个作业中最多可以有15个流内过程. 不能嵌套使用,也不能被其他作业调用.流内过程和编目过程不同,前者随着一个作业放在输入流中,紧跟在JOB语句之后. 一般而言,流内过程只用于测试阶段,一旦测试通过,即可对其进行编目,即转变为编目过程.

[流内过程]

//R123 JOB (456),”SMITH”,CLASS=A#这行 very重要 ,不可漏掉
//RUN PROC# 开始定义一个过程, 此句必须紧跟在JOB语句后面
//GO EXEC PGM=ONE
//SYSOUT DD SYSOUT=A
// PEND# 标志一个流内过程的结束(编目过程不需要此句)
//STEP1 EXEC RUN#调用RUN这个流内过程

[编目过程]

该编目过程存放在ST018.PDS.LIB(PROC1)里面

//RUN PROC# 开始定义一个过程, 此句必须紧跟在JOB语句后面
//GO EXEC PGM=ONE
//SYSOUT DD SYSOUT=A

调用该编目过程的JCL语句写在另外一个文件

//MYJOB JOB ....

//MYLIB JCLLIB ORDER=ST018.PDS.LIB#此步非常之重要,定义一个Private LIB,

//STP1 EXEC PROC=PROC1#开始调用,注意:过程名不是RUN,而是PROC1,即成员名

过程的修改:

[修改DD语句]

//INVOKE EXECTRANSACT
//procstepname.ddname DD parameter=value

说明:

if(procstepname.ddname 不在 parameter.procstepname中)

{

新增DD语句ddname

}

else

{

if(parameter存在于过程中) then 覆盖原来parameter 的值

if(parameter不存在于过程中)then 新增参数

if(value==' ') then 还原参数parameter的默认值

if(被调用过程中存在不是parameter的参数)then 保留那些参数值

}

若要使得DD语句无效,请参照下面格式

//PROCSTEPNAME.DDNAME DD DUMMY

或者

//PROCSTEPNAME.DDNAME DD DSN=NULLFILE

特别提醒: 该做法对BCD参数无效. 如果要连BCD也作用的话, 看下面的格式:

This is a DD statement in a procedure called PSTEP1:
//DD3 DD DSN=MYDSET,DISP=SHR,
// DCB=(RECFM=FB,
// BLKSIZE=160,LRECL=80)

In order to nullify the entire DCB parameter of the DD statement, each DCB keyword subparameter specifiedin the procedure definition must be nullified as shown below:

//PSTEP1.DD3 DD DCB=(RECFM=,BLKSIZE=,LRECL=)

[修改EXEC语句]

//STEPNAME EXEC TRANSACT,PARAMETER.STEPNAME = VALUE

其他的与修改DD语句基本相同.不再累述.

[使用符号参数]

定义符号参数(必须在过程中定义):

//.........,parameter=& A#A是符号

赋值符号参数:

方法一

TRANSACT definition:
//PSTEP1 EXEC PGM=PROG1,
// ACCT=&DEPT1
//PSTEP2 EXEC PGM=PROG2,
// ACCT=&DEPT2
Assigning values to &DEPT:
//JSTEP EXEC TRANSACT,
// DEPT1=GRP50,
// DEPT2=GRP100

方法二

TRANSACT definition:
//PSTEP1 EXEC PGM=PROG1,
// ACCT=&DEPT1
//PSTEP2 EXEC PGM=PROG2,
// ACCT=&DEPT2
Assigning values to &DEPT1:
// SET DEPT1=GRP100
//JSTEP EXEC TRANSACT

小结:

昨天因为某些原因,放纵自己过度,卡丁至深夜不止,今天没爬起来上课,于是串到下午,呵呵.不过总体还算跟上,高兴啊.老师今天还讲了COND参数的使用,因为前面已经整理过了,所以不再累述.

几点需注意的:

1、调用编目过程时,记得加入过程库

2、过程中禁止出现“/*”、“//DDNAME DD *”,否则,我也不知道会怎样

3、请求卷的时候,如果填写的卷不存在,会造成作业占着主机资源不放。解决办法,在TIME里面设置一下应该可以,不过我还没亲自实现过,理论上是这么说的。

PS:各位来我空间的XDJM ,敬请冒个泡,在这里特别点名批评小李,还有达华。。呵呵哈哈^_^

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 1. 预备与基础知识 .......................................................................................................................... 5 1.1 PSW & Real Address and Virtual Address ........................................................................... 5 1.1.1PSW(Program Status Word) ................................................................................ 5 1.1.2Virtual Address: ......................................................................................................... 5 1.2 EBCDIC 码 ........................................................................................................................... 6 1.3 数的表示、转换与计算 ................................................................................................... 6 1.3.1字符数据 .................................................................................................................. 6 1.3.2二进制数 .................................................................................................................. 7 1.3.3逻辑数 ...................................................................................................................... 8 1.3.4十进制数 .................................................................................................................. 8 1.4 主机环境下汇编语言源程序→可执行模块流程 ........................................................... 9 1.5 什么是主程序?什么是子程序? ................................................................................... 9 1.6 汇编程序书写格式与样本 ............................................................................................. 10 1.6.1汇编控制语句:START、END .......................................................................... 10 1.6.2汇编控制语句:USING指令 .............................................................................. 10 1.7 关于地址: 基地址、变址与相对地址 .......................................................................... 11 1.8 寄存器的约定 ................................................................................................................. 11 1.9 常数的定义 ..................................................................................................................... 12 1.9.1数据区域的定义 .................................................................................................... 12 1.9.2常数的定义 ............................................................................................................ 13 1.10 指令格式与类型: 指令格式与类型例子 .................................................................... 18 2. Sequential Input & Output .......................................................................................................... 19 2.1 分析一个带有输出文件的汇编语言程序 ..................................................................... 19 2.2 有关输入/出的宏指令 ................................................................................................. 20 2.2.1 OPEN .............................................................................................................................. 21 2.2.2 CLOSE ..................................................................................................................... 21 2.2.3GET(读) & PUT(写) ...................................................................................... 21 2.3关于ORG, EQU, PRINT等指令的介绍 ............................................................................ 23 2.3.1 ORG语句(置地址计数器) ................................................................................ 23 2.3.2 EQU “等价”指令,格式:name EQU constant ............................................... 24 2.3.3 PRINT 操作数 ........................................................................................................ 24 2.4 什么是保护区?以及关于STM, LM 指令的介绍 ...................................................... 24 3.编程 Move,Comparing& Branching ........................................................................................ 28 3.1 MOVE:MVC,MVI ,MVZ,MVN ................................................................................ 28 3.1.1字符传送指令MVC D1(L1,B1),D2(B2) ............................................................. 28 3.1.2直接传送指令:MVI D1(B1),I2 .................................................................... 29 3.1.3MVZ、MVN D1(B1),D2(B2) ..................................................................................... 29 3.2逻辑比较指令: ............................................................................................................... 31 3.2.1CLC D1(L,B1),D2(B2) ................................................................................................ 31 3.2.2直接数逻辑比较指令:CLI.................................................................................. 32 3.2.3 十进制比较CP D1(L1,B1),D2(L2,B2) .................................................................... 33 3.3 MVCL R1,R2 长传送 ...................................................................................................... 33 2 3 IBM 大型机汇编语言 3.4CLCL R1,R2 两域比较 ........................................................................................................ 35 3.4 Branching逻辑比较转移,算术运算转移及条件转移 ............................................... 37 3.4.1算术运算转移 ........................................................................................................ 37 3.4.2逻辑比较转移 ........................................................................................................ 37 3.4.3条件转移:BC、BCR .......................................................................................... 37 4. 编程:Packed Decimal .............................................................................................................. 39 4.1 压缩十进制运算 ............................................................................................................. 39 4.1.1.十进制加法指令AP ........................................................................................... 39 4.1.2.十进制减法指令SP ............................................................................................ 39 4.1.3.清零及加十进制指令ZAP: .............................................................................. 40 4.1.4.比较十进制指令CP ........................................................................................... 41 4.1.5十进制乘法指令MP: ......................................................................................... 42 4.1.6十进制除法指令DP .............................................................................................. 43 4.2 PACK & UNPK .................................................................................................................... 44 4.2.1PACK A,B .................................................................................................................. 44 4.2.2拆卸:UNPK ........................................................................................................ 45 4.2.3指令:OI (“或”) ............................................................................................... 46 4.3SRP( 压缩十进数的舍入移位)(Shift & Round Packed) ......................................... 47 5.编程Table Handling& Editing ..................................................................................................... 47 5.1 LA ...................................................................................................................................... 47 5.2 BCT / BCTR 计数转 ........................................................................................................... 48 5.3 ED / EDMK 编辑 ............................................................................................................... 49 5.3.1编辑指令:ED ...................................................................................................... 49 5.3.2编辑并说明:EDMK ............................................................................................ 50 6.编程Binary Arithmetic &Tables ................................................................................................... 53 6.1 有关Binary Arithmetic 指令 .......................................................................................... 53 6.1.1 L 指令 ................................................................................................................. 53 6.1.2寄存器装载LR ....................................................................................................... 54 6.1.3多寄存器恢复指令LM .......................................................................................... 56 6.1.4多寄存器保存指令STM........................................................................................ 57 6.1.5存储指令ST ........................................................................................................... 58 6.2二进制数(算术)运算 ................................................................................................... 59 6.2.1CVB &CVD 指令 ...................................................................................................... 60 6.2.2 A 、AH 、AR 二进数“加”指令 ........................................................................... 61 6.2.3 S、SH 、SR 二进数“减”指令 .............................................................................. 63 6.2.4 M、MH 、MR 二进数“乘”指令 ............................................................................ 64 6.2.5 D、DR 二进数“除”指令 ........................................................................................ 65 6.3比较指令 ........................................................................................................................... 66 6.3.1 C,CB,CR ................................................................................................................... 66 6.3.2变址器比较指令BXLE,BXH ................................................................................... 68 6.3.3 插入与存入字符IC、STC ..................................................................................... 71 6.3.4屏蔽插入与存入字符ICM,STCM .......................................................................... 73 7编程Shifting,Boolean &Bit Operations .................................................................................... 77 7.1 SHIFT 移位指令 ................................................................................................................ 77 3 4 IBM 大型机汇编语言 7.1.1.逻辑左移单寄存器指令SLL ............................................................................... 78 7.1.2.逻辑右移单寄存器指令SRL: .......................................................................... 78 7.1.3.逻辑左移双寄存器指令SLDL ............................................................................ 78 7.1.4.逻辑右移双寄存器指令SRDL ............................................................................ 79 7.1.5算术左移单寄存器指令SLA ................................................................................. 82 7.1.6.算术右移寄存器指令SRA ................................................................................. 83 7.1.7.算术左移双寄存器指令SLDA ............................................................................ 83 7.2 有关Boolean 指令 ......................................................................................................... 86 7.3 有关Bit Operations指令 ................................................................................................ 89 8编程Subroutines&Macros .......................................................................................................... 92 8.1内部子程序 ....................................................................................................................... 92 8.1.1 BAL(内部)子程序 .............................................................................................. 92 8.1.2BALR(外部)子程序 ............................................................................................ 93 8.2 子程序参数传递 .............................................................................................................. 95 8.2.1调用序列的约定方法 ............................................................................................ 95 8.2.2参数地址区的约定方法 ........................................................................................ 96 8.3 宏指令介绍 ....................................................................................................................... 97 •8.3.1宏指令与子程序的区别: ................................................................................... 97 8.3.2宏指令的形式 ......................................................................................................... 97 8.3.3符号参数 ................................................................................................................ 97 8.3.4宏定义及宏调用 .................................................................................................. 100 8.3.5关于宏的两个例子 .............................................................................................. 107 4

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值