18.08.2013 Views

(SYSLIB) Programming Reference Manual - Public Support Login ...

(SYSLIB) Programming Reference Manual - Public Support Login ...

(SYSLIB) Programming Reference Manual - Public Support Login ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

SIR$–Symbolic Input/Output Routine<br />

Different ASCII-like CCSs often have different graphic characters associated with an<br />

octal value, particularly for octal values of 0200 and over. Conversely, there are<br />

cases where characters in different ASCII-like CCSs have identical graphic<br />

representations but have different octal values. Of particular note in this case are<br />

certain special characters in the ASCII-like ISO 646 CCSs (decimal CCS 17 through<br />

28). For example, the small letter “c” with the cedilla diacritical mark is represented<br />

by the octal value 0134 in ISO_646_Italy (decimal CCS 22); the octal value 0175 in<br />

ISO_646_Spain (decimal CCS 23); and the octal value 0347 in ISO_8859_2 (decimal<br />

CCS 36).<br />

SIR$ character comparisons and replacements are always based on the octal values<br />

of characters in the runstream partial line editing statement and in the source input<br />

image, never on their graphic representation. As a result<br />

− Old-data characters that graphically match a source input image string may result<br />

in an unexpected SIR$ “no find.”<br />

− Old-data characters that do not appear to match a source input image string may<br />

result in an unexpected SIR$ “find.”<br />

− New-data characters may not have the same graphic representation once they<br />

are placed into the source input image.<br />

• Runstream images in CCSs other than Fieldata, ASCII, or ASCII-like can only<br />

represent images to be inserted into the source output following a “-n” line change<br />

statement or images to replace source input images following a “-n,m” line change<br />

statement.<br />

When an updated or new symbolic element is specified on the processor call statement,<br />

the updated or new symbolic is written to the program file. If a two-pass processor call<br />

is made to SIR$ and an update element is not specified on the processor call statement,<br />

the processor must provide a scratch file to hold the updated symbolic for the second<br />

pass. GETPSF$ can be called to get the scratch file. The internal file name of the<br />

scratch file must be in PARTBL+14,15 and PARTBL+16 must be set to zero prior to<br />

entering SIR$.<br />

To read from and write to an SDF file, PARTBL + 16,17 and PARTBL + 29,30 must be<br />

set to zero.<br />

Label Control Record<br />

Whenever symbolic output is written by SIR$, a label control record is the first image<br />

written. The format of the label control record created by SIR$ is the following.<br />

0 5 6 11 12 17 18 29 30 35<br />

0 050 01 030 CCS<br />

1 *SDFF*<br />

7833 1733–004 23–3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!