* (usually) external call.... R13 usually points to a save area for general purpose registers beforehand
* and R1 points to a list of addresses of parameters (if any)
LA R1,=A(B) point to (address of) variable 'B'
L R15,=A(SQR) Load pointer (address constant) to separately compiled/assembled subroutine
BALR R14,R15 Go to subroutine, which returns - usually at zero displacement on R14
* internal call (usually much smaller overhead and possibly 'known' parameters)
BAL R14,SQR Go to program label and return
BAL R14,SQR Go to program label and return (using offset on R14 as return address)
B OK (RET+0) - O.K
* (RET+4) - Failure