In Chapter "Notes on migration", it was mentioned that for the modifications in Assembler code for files >=
32 GB in addition to the conversion to 4-byte block numbers and counters, it is necessary to check whether the program logic implicitly assumes that files may not be larger than 32 GB.
The following lists a number of examples of potential problems.
The highest 3-byte block number X'FFFFFF' has a special meaning.
“Block numbers” greater than X'00FFFFFF' represent objects other than blocks.
For calculations with block numbers or counters greater than X'00FFFFFF', overflow can occur.
The number of digits in input or output fields is not sufficient for displaying such large block numbers or counters.
When converting hexadecimal numbers to decimal numbers, the field length is too small for the decimal number.
It is assumed that data structures whose size depends on a file size always find space in virtual memory. This assumption can apply to files less than 32 GB, but not if this size is exceeded.