Assembler considerations

You can run applications written in assembler language in Language Environment. Applications written in Language Environment-conforming HLLs can also call or be called by assembler language applications. It is important to note that Fortran applications cannot call CEEHDLR or any other Language Environment callable service directly, therefore Fortran condition handling must be done by calling an assembler application to provide condition handling support. Most CEE services can be called from Fortran using AFHCEEN or AFHCEEF, as described in z/OS V2R1.0 Language Environment Runtime Application Migration Guide.

This topic discusses considerations for assembler applications and introduces library routine retention, a function that can provide performance improvement for applications or subsystems running on z/OS.

You can write assembler language applications that conform to the XPLINK call linkage. The z/OS XL C/C++ Programming Guide describes how to create XPLINK assembler applications using the EDCXPRLG, EDCXEPLG, and EDCXCALL macros, and describes the XPLINK register conventions, parameter passing conventions and stack layout. z/OS Language Environment Vendor Interfaces has details on the XPLINK architecture that will be useful to an assembler programmer.

Whether you plan to execute a single-language assembler application or a multiple-language application containing assembler code, there are a number of restrictions you must follow under Language Environment. For example, to communicate with Language Environment and other applications running in the common runtime environment, your assembler application must preserve the use of certain registers and storage areas in a consistent way. Calling conventions for non-XPLINK assembler programs must follow the standard S/370 linkage conventions. Calling conventions for XPLINK assembler programs must follow the XPLINK linkage conventions. In addition, your assembler program is restricted from using some operating system services. These conventions and restrictions are described in this section..