Tommy Sprinkle / MVS 3.8
Utility programs for classic MVS systems

MVS Utilities / Downloads

MVS Utility Downloads

Source code and MVS load modules for PicoC with FSS and the MVS 3.8 utility programs.

Source Code

Source code is provided in ZIP files. The code has successfully been compiled with the JCC C Compiler. The SVC Call Interface must be assembled and then included when link-editing the modules.

picoc.zip

PicoC C interpreter for MVS 3.8 with FSS extensions.

sysutil.zip

Source code for the MVS System Utilities.

MVS Load Modules

The load modules are provided as an unloaded Load Library PDS created with IEBCOPY. The source Load Library is on a 3350 DASD with a block size of 19069. The downloadable files are AWS tape images.

pic100.aws

PicoC for MVS 3.8 with FSS.

utl100.aws

MVS System Utilities load modules.

Running the Programs

JCC Standard Files

JCC expects three files to be defined: STDIN, STDOUT, and STDERR. I normally allocate each to DA(*) so standard input and output are directed to the TSO terminal:

ALLOC FI(STDIN)  DA(*)
ALLOC FI(STDOUT) DA(*)
ALLOC FI(STDERR) DA(*)

The programs can still be run without these allocations, but standard C input, output, or diagnostic streams that are not allocated will not be available. For the full-screen utilities this normally does not matter.

Running PicoC

PicoC requires an input script. The following example uses generic dataset names that can be replaced with the names used on your MVS system:

ALLOC FI(SCRIPT) DA(your.script.dataset(member)) SHR
CALL 'your.load.library(PICOC)' '//DDN:SCRIPT'

For comparison, this is an example using the dataset names from my development system:

ALLOC FI(SCRIPT) DA(TCS3.C.ASM(FSI01)) SHR
CALL 'TCS3.MVS.LOAD(PICOC)' '//DDN:SCRIPT'
If PicoC encounters a problem and STDERR has not been allocated, its diagnostic output will not be visible and the program may appear to fail silently.