MAINSAIL System-Specific User's Guides, Chapter 11

previous   next   top   contents   index   framed top   this page unframed


11. IA-64-Dependent Information

This chapter describes IA-64-specific information.

11.1. Procedure Size

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

11.2. Data Types

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

Data type Representation
BOOLEAN 1 doubleword (4 bytes)
INTEGER 1 doubleword (4 bytes)
LONG INTEGER 2 doublewords (8 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 2 doublewords (8 bytes)
STRING 4 doublewords (16 bytes): first 8 bytes (low address) are length, second 8 bytes (high address) are CHARADR of first character
ADDRESS 2 doublewords (8 bytes)
CHARADR 2 doublewords (8 bytes)
POINTER 2 doublewords (8 bytes)

11.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 11