Examples of UCS Image Coding
Figure 1 shows an example of the JCL to add a 1403 UCS image, YN, to SYS1.IMAGELIB. Notes, which apply to all examples, follow Figure 3.
//ADDYN JOB MSGLEVEL=1
//STEP EXEC PROC=ASMHCL,PARM.ASM='NODECK,LOAD',
// PARM.LKED='LIST,OL,REFR,RENT,XREF'
//ASM.SYSIN DD *
UCS1YN CSECT
DC X'80' (THIS IS A DEFAULT IMAGE)
DC AL1(6) (NUMBER OF LINES TO BE PRINTED)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 1)
DC AL1(42) (42 CHARACTERS TO BE PRINTED ON LINE 2)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 3)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 4)
DC AL1(42) (42 CHARACTERS TO BE PRINTED ON LINE 5)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 6)
* THE FOLLOWING SIX LINES REPRESENT THE TRAIN IMAGE
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.#-$'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.#-$'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
END
/*
//LKED.SYSLMOD DD DSNAME=SYS1.IMAGELIB(UCS1YN),DISP=OLD,
// SPACE= (OVERRIDE SECONDARY ALLOCATION)
See Figure 3 for the notes to this figure.
Figure 2 shows an example of the JCL to add a 3203 UCS image, YN, to SYS1.IMAGELIB. Notes to this figure follow Figure 3.
//ADYN3203 JOB MSGLEVEL=1
//STEP EXEC PROC=ASMHCL,PARM.ASM='NODECK,LOAD',
// PARM.LKED='LIST,OL,REFR,RENT,XREF'
//ASM.SYSIN DD *
UCS3YN CSECT
DC X'80' (THIS IS A DEFAULT IMAGE)
DC AL1(6) (NUMBER OF LINES TO BE PRINTED)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 1)
DC AL1(42) (42 CHARACTERS TO BE PRINTED ON LINE 2)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 3)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 4)
DC AL1(42) (42 CHARACTERS TO BE PRINTED ON LINE 5)
DC AL1(39) (39 CHARACTERS TO BE PRINTED ON LINE 6)
* THE FOLLOWING SIX LINES REPRESENT THE TRAIN IMAGE
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.#-$'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.#-$'
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.'
* THE FOLLOWING FOUR DC INSTRUCTIONS DEFINE THE ASSOCIATIVE BITS,
* UCSB BYTE POSITIONS 241-304
DC X'C01010101010101010100040000000000010'
DC X'101010101010101000404000000040001010'
DC X'101010101010004000000000101010101010'
DC X'10101010004000000000'
END
/*
//LKED.SYSLMOD DD DSNAME=SYS1.IMAGELIB(UCS3YN),DISP=OLD,
// SPACE= (OVERRIDE SECONDARY ALLOCATION)
Notes: See Figure 3
for the notes to this figure.
Figure 3 shows an example of the JCL to add a 3211 UCS image, A11, to SYS1.IMAGELIB.

In the sample code in the Figure 1, Figure 2, and Figure 3 be aware of the following:
- The RENT linkage editor attribute is required.
- For the 3203 and 3211 printers, to avoid data checks code the 64 bytes of associative bits. To determine how to code these bits for a particular image, see IBM 3203 Printer Component Description and Operator's Guide or IBM 3211 Printer, 3216 Interchangeable Train Cartridge, and 3811 Printer Control Unit Component Description and Operator's Guide.
- Executing the ASMHCL procedure does not generate executable code. The assembler/linkage editor merely places the UCS image into SYS1.IMAGELIB.
- The SPACE parameter is overridden here because the ASMHCL cataloged procedure has secondary allocation specified. You can specify use of the original secondary allocation amount by deleting the override.