Compression takes an input string of data and, using a data area
called a dictionary, produces an output string
of compression symbols. Each symbol represents a string of one or
more characters from the input.
Expansion takes an input string of compression symbols and, using
a dictionary, produces an output string of
the characters represented by those compression symbols.
Parameters for the CSRCMPSC macro are in an area mapped by DSECT
CMPSC of the CSRYCMPS macro and specified by the CBLOCK parameter
of the CSRCMPSC macro. This area contains such information as:
- The address, ALET, and length of a source area. The source area
contains the data to be compressed for a compression operation, or
to be expanded for an expansion operation.
- The address, ALET, and length of a target area. After the macro
runs, the target area contains the compressed data for a compression
operation, or the expanded data for an expansion operation.
- An indication of whether to perform compression or expansion.
- The address and format of a dictionary to be used to perform the
compression or expansion. The dictionary must be in the same address
space as the source area.
Compressing and expanding data is described in the following topics:
To help you use the compression services, the SYS1.SAMPLIB system
library contains the following REXX execs:
- CSRBDICT for building example dictionaries
- CSRCMPEX for measuring the degree of compression that the dictionaries
provide
When running on VM, two analogous macros are available:
- CSRBDICV for building example dictionaries
- CSRCMPEV for measuring the degree of compression that the dictionaries
provide
The prologs of the execs tell how to use them. For additional
information about compression and using the execs, see Enterprise Systems Architecture/390 Data
Compression.