Advanced Data Set Information | TSO Support |
Mainframe Express emulates a number of MVS control blocks that are accessible to applications running in problem program state. The information stored in these control blocks is limited to that which has value and meaning to problem state programs. This chapter describes how these control blocks operate differently in a PC environment compared to a mainframe.
Control blocks are accessed in Mainframe Express in the same way as they are on a mainframe, by referencing the appropriate field in the Communication Vector Table (CVT). The address of the CVT is stored at absolute address 16 in memory, as it is on the mainframe.
MVS control blocks in Mainframe Express have the same structure as the mainframe versions, but only those fields most likely to be accessed by Assembler application programs are supported.
Many absolute memory addresses are used by the MVS operating system and the mainframe hardware itself. The Assembler run-time system under Mainframe Express intercepts all accesses to memory locations 0 through 2047 and redirects them to a block of memory that is allocated from the PC operating system and initialized to emulate the bottom 2,048 bytes of memory on the mainframe. Therefore, no matter where in PC memory an Assembler program is loaded, absolute addresses 0 through 2047 are guaranteed to exist and can be accessed and modified as on the mainframe.
The following sample project is supplied with Mainframe Express to illustrate how to access the MVS control blocks. A readme.txt file is supplied which describes how to create the project and run it.
Project |
Summary |
CTLBLKC | The CTLBLKC project contains a COBOL program which
calls an Assembler routine to extract information from the MVS control
blocks.
The readme file is in folder \mfuser\projects\demo\ctlblkc. The source files are in folder \mfuser\projects\demo\ctlblkc\source. |
The following table lists the MVS control blocks that are emulated by Mainframe Express and specifies any differences between the PC versions and the mainframe versions.
Mainframe Express supplies macros for Assembler to define the MVS control blocks. They are located in the folder mfe\source. The macros have the same name as the control blocks and have the .mac file extension. They describe the key problem program state fields. Only fields that are supported are named in the macros; the others are defined as "fillers".
Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.
Advanced Data Set Information | TSO Support |