Core-to-Core Part

<core-to-core part>

──<core-to-core file part>─┬──────────────────────────────┬────────────┤
                           └─<core-to-core blocking part>─┘

<core-to-core file part>

──┬─<array row>────────────┬───────────────────────────────────────────┤
  ├─<pointer expression>───┤
  └─<subscripted variable>─┘

If the core-to-core part is specified in the READ statement, then a core-to-core read is performed. A core-to-core read operation reads from a location in memory, not from a physical device; therefore, it is much faster than a physical read. Editing is performed exactly as it is performed when reading from a physical device.

If the core-to-core file part is a hexadecimal, or EBCDIC array row or pointer, then the default record size (the number of characters considered to be in the record) depends on the character size of the array row or pointer and is determined by the actual length of the designated string.

The maximum size of the core-to-core file part for hexadecimal arrays is 65,535 words. Core-to-core I/O on hexadecimal arrays longer than 65,535 words is permitted only if the core-to-core file part is indexed far enough into the array such that the length between that point and the end of the array does not exceed 65,535 words. If an attempt is made to use an array or array segment more than 65,535 words long, a run-time error occurs.

For single-precision and double-precision array rows or subscripted variables, the default record size is computed by multiplying the length of the array row (or remaining length of the array row when a subscripted variable is used) by the number of characters per word. The characters per word is 6 for single-precision and 12 for double-precision.