扩展汇编语言程序的动态存储器
您可以通过在名为 DFHEISTG 的 DSECT 中定义源程序中的这些变量来扩展动态存储器,以便为用户变量提供额外的存储器。
24 位和 31 位寻址方式
对于 AMODE (24) 和 AMODE (31) 程序,使用 DFHEISTG DSECT 可获得的最大动态存储量为 65 264 字节。 DFHEISTG 是保留名称。 此存储器已初始化为 X'00 '。 在转换时,转换程序会紧跟在 DFHEISTG DSECT 指令之后插入 DFHEISTG 宏。 通过这种方式, DSECT 描述了参数列表,命令级别接口以及任何用户变量所需的动态存储器。 在链接编辑时,使用 CEEXOPT 宏的 STORAGE 选项以确保 DFHEISTG 存储器初始化为 x '00' ,例如 CEEXOPT STORAGE=(,,00)。 确保应用程序传播或初始化用户 DFHEISTG 区域中定义的任何常量。
Source program
INSTRUCT CSECT
EXEC CICS SEND MAP('DFH$AGA') MAPONLY ERASE
END
This source program is translated to:
DFHEIGBL , INSERTED BY TRANSLATOR
INSTRUCT CSECT
DFHEIENT INSERTED BY TRANSLATOR
* EXEC CICS SEND MAP('DFH$AGA') MAPONLY ERASE
DFHECALL =X'1804C0000800000000046204000020',
(CHA7,=CL7'DFH$AGA*'),(______RF,DFHEIV00)
DFHEIRET INSERTED BY TRANSLATOR
DFHEISTG INSERTED BY TRANSLATOR
DFHEIEND INSERTED BY TRANSLATOR
END
64 位寻址方式
对于非 Language Environment® 格式的AMODE(64)汇编语言程序,DFHEISTG宏会生成一个AMODE(64)格式的DSECT文件。 DFHEISTG 存储器从 31 位存储器 (高于 16 MB 但低于 2 GB) 获取,而不是从 64 位存储器获取。 使用 DFHEISTG DSECT 可获得的最大动态存储量为 65 264 字节。 此存储器已初始化为 X'00 '。
在转换时,转换程序会紧跟在 DFHEISTG DSECT 指令之后插入 DFHEISTG 宏。 通过这种方式, DSECT 描述了参数列表,命令级别接口以及任何用户变量所需的动态存储器。
CICS® 定义 DFHEISTG 存储器的前部。
在 DFHEIENT 宏将控制权返回给应用程序之前,将设置 EIB 指针 DFHEIBP 和 COMMAREA 指针 DFHEICAP。 这些指针是 24 位或 31 位存储器中的 64 位指针。