Huge Addressing under OS/2 (32206)
The information in this article applies to:
- Microsoft FORTRAN Compiler for MS-DOS 4.1
- Microsoft FORTRAN Compiler for MS-DOS 5.0
- Microsoft FORTRAN Compiler for MS-DOS 5.1
- Microsoft FORTRAN compiler for OS/2 4.1
- Microsoft FORTRAN compiler for OS/2 5.0
- Microsoft FORTRAN compiler for OS/2 5.1
This article was previously published under Q32206 SUMMARY
When a huge array is allocated space, OS/2 allocates segments from the
Segment Selector Table in increments of n+0i, n+1i, n+2i, etc., where
"n" is the starting selector and "i" is the incremental value. The
value of "i" must be determined at load time for different versions of
the OS/2 and for different configurations of the similar versions. The
way that huge addressing is performed under OS/2 is identical to the
way in which MS-DOS accesses huge addresses. However, under MS-DOS, "i" is
always 4,096.
Below is an example of how to obtain the value of "i" in a FORTRAN
program. The value of "i" is 2 raised to the power returned by
DosGetHugeShift. This information is discussed in detail in the
Microsoft Press book "Inside OS/2" by Gordon Letwin, Section 9.2.2.
Modification Type: | Major | Last Reviewed: | 12/1/2003 |
---|
Keywords: | KB32206 |
---|
|