Consultor Eletrônico



Kbase 519: 63 k limit of .r code: Performance vs. addressable mem lmt
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
63 k limit of .r code: Performance vs. addressable mem lmt

900427-sec01
The reason why we have a 63k limit for .r code:

For operating systems OTHER than DOS and Xenix the reason
why we have a 63k limit for .r code has to do with the size
of the pointer we use to address memory. We currently use a
16 bit pointer which can not address more than 64k of memory
at one time (2 to the 16th or 65536). To make sure we stay within
this limit which would include header information we chose the
maximum .r code to be 63k (2 to the 16th - 1024 or 64512).

Under DOS and Xenix since memory is segmented into 64k increments
the maximum contiguous memory we could address in any 1 segment is
64k. To make sure we stay within this limit which would include
header information, we chose the maximum .r code to be 63k.

Since portability is a major issue, by having the maximum .r code
to be 63k across all operating systems will assure the developer
that the procedure that is compiled on a DOS box will also compile
on a Unix box. But it is interesting to note that the reasons for
the maximum size of .r to be 63k are different.

Progress Software Technical Support Note # 519