Table 1 shows the differences in addressing capabilities that are available in each environment. 31-bit refers to the addressing mode, or AMODE. In z/OS XL C/C++, pointer sizes in this mode are always 4 bytes. In AMODE 31, 31 bits of the pointer are used to form the address, which is defined by the term "31-bit addressing mode". Occasionally, we also use the term "32-bit mode". Strictly speaking, 31-bit is an architectural characteristic referring to the addressing capability, while 32-bit is a programming language aspect referring to the data model. The latter is also referred to as ILP32 (int-long-pointer 32). When there is no ambiguity, we use the term "32-bit mode".
ILP32 (32-bit environment) | LP64 (64-bit environment) |
---|---|
2 GB of address space | 1 million TB of address space |
31-bit execution mode 1 | 64-bit execution mode |