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 C interpreter for MVS 3.8 with FSS extensions.
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.
PicoC for MVS 3.8 with FSS.
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'
STDERR has not been
allocated, its diagnostic output will not be visible and the program may
appear to fail silently.