Using callable services in a 64-bit environment

The z/OS UNIX callable services can be called in 31-bit or 64-bit addressing mode (AMODE 31 or AMODE 64). RMODE 64 is not supported. AMODE 31 callers use the BPX1xxx services; AMODE 64 callers use the BPX4xxx services.

Calling programs using 64-bit addressing must be compiled AMODE 64, and clear the upper half of the branch register before branching to the syscall layer. 64-bit binder support is needed to do the link-edit.

An AMODE 64 caller using the 64-bit versions of the macros must issue SYSSTATE AMODE64=YES before calling the service. See z/OS MVS Programming: Assembler Services Reference IAR-XCT for information about the SYSSTATE macro.

There is a BPX4xxx stub for each BPX1xxx service, except for those services that were replaced in functionality by other services:
Table 1. Callable services with no BPX4xxx counterparts
Callable service Replaced by
BPX1GPS BPX1GTH
BPX1TYN BPX2TYN
BPX1ITY BPX2TYN
BPX1MNT BPX2MNT
BPX1RMS BPX2RMS
BPX1SMS BPX2SMS
The kernel continues to support the BPX1xxx versions of these syscalls.

Except for the services in Table 1, the last three characters of the stub names are the same for the 31-bit and 64-bit stubs.