MAINSAIL System-Specific User's Guides, Chapter 8

previous   next   top   contents   index   framed top   this page unframed


8. Intel Pentium Processor-Dependent Information

This chapter describes Intel Pentium-specific information.

8.1. Procedure Size

There is no well-defined limit for the size of a procedure on the Intel Pentium. However, the compiler almost always successfully compiles procedures under 64K bytes in length that contain no CASE statements for which code exceeds 32K bytes in length. The compiler may handle procedures larger than 64K bytes, depending on the code. Procedures longer than approximately 64K bytes are not guaranteed to work, and such procedures may compile correctly on one machine and not on another.

8.2. Data Types

A storage unit on the Intel Pentium is one byte (8 bits). MAINSAIL data types on the Intel Pentium are represented as follows:

Data type Representation
BOOLEAN 1 doubleword (4 bytes)
INTEGER 1 doubleword (4 bytes)
LONG INTEGER 1 doubleword (4 bytes)
REAL IEEE single precision floating point (4 bytes)
LONG REAL IEEE double precision floating point (8 bytes)
BITS 1 doubleword (4 bytes)
LONG BITS 1 doubleword (4 bytes)
STRING 2 doublewords (8 bytes): first doubleword (low address) is length, second doubleword (high address) is CHARADR of first character
ADDRESS 1 doubleword (4 bytes)
CHARADR 1 doubleword (4 bytes)
POINTER 1 doubleword (4 bytes)

8.3. Miscellaneous Information

The representation for BOOLEAN FALSE is all bits clear, and the standard for BOOLEAN TRUE is low-order bit set, all other bits clear. However, in forms such as IF booleanVariable THEN ..., booleanVariable is considered to be TRUE if any bits are set.

STRING variables have both the length and CHARADR component equal to Zero for the STRING Zero (the empty STRING).


previous   next   top   contents   index   framed top   this page unframed

MAINSAIL System-Specific User's Guides, Chapter 8