Oh yes, always good to see a big chunk of solid code. Here's a snippet from
HS.FST.src indicating both a calling convention and a documentation convention:
Quote:
Code:
******************************************************************************
*
* Name: Appl_call
*
* Description: Entry point for all application calls. Called by GS/OS only.
* Validates call before passing control to call handler.
*
* Created: Oct 6, 1987
* Modified: Mar 5, 1991
* Author: Bryan Atsatt
*
* Entry: jml
*
* Input: A = undefined
* X = call number times 2
* Y = class number times 2
* P = nvmxdizc
* ..000...
*
* Output: A = error code if carry set
* X = undefined
* Y = undefined
* P = nvmxdizc
* ..000..1 = error
* 0 = no error
*
* Exit: jml sys_exit
*
* Uses: Everything!
*
******************************************************************************
and a simpler example:
Quote:
Code:
******************************************************************************
*
* Name: add_separator
*
* Description: This routine will insert a class 0 or 1 separator at the
* beginning of the gstring pointed to by X and Y.
*
* Created: Nov 6, 1987
* Modified: Nov 6, 1987
* Author: Bryan Atsatt
*
* Entry: jsr
*
* Input: A = undefined
* X = low byte of pointer to gstring
* Y = high byte of pointer to gstring
* P = nvmxdizc
* ..000...
* B = K
*
* class ;class of call.
*
* Output: A = undefined
* X = undefined
* Y = undefined
* P = nvmxdizc
* ..000...
* B = K
*
* Exit: rts
*
* Uses: all registers
* input_string
* length
*
******************************************************************************