How CAF modifies the content of registers

If you do not specify the return code and reason code parameters in your CAF function calls or if you invoke CAF implicitly, CAF puts a return code in register 15 and a reason code in register 0. The contents of registers 2 through 14 are preserved across calls.

The following table lists the standard calling conventions for registers R1, R13, R14, and R15.

Table 1. Standard usage of registers R1, R13, R14, and R15
Register Usage
R1 CALL DSNALI parameter list pointer
R13 Address of caller's save area
R14 Caller's return address
R15 CAF entry point address

Your CAF program should respect these register conventions.

CAF also supports high-level languages that cannot examine the contents of individual registers.