IBM SC34-6814-04 User Manual
Page 338
**************************************************************************
*
Before issuing an XPI function call, set up addressing to XPI
*
*
parameter list.
*
*************************************************************************
*
L
R5,UEPXSTOR
SET UP ADDRESSING FOR XPI
*
PARAMETER LIST
*
USING DFHSMMC_ARG,R5
MAP PARAMETER LIST
*
*************************************************************************
*
Before issuing an XPI function call, you must ensure that register
*
*
13 addresses the kernel stack.
*
*************************************************************************
*
L
R13,UEPSTACK
ADDRESS KERNEL STACK
*
*************************************************************************
*
Issue the DFHSMMCX macro call, specifying:
*
*
*
*
CALL --
the macro is to be called immediately
*
*
*
*
CLEAR --
initialize the parameter list before inserting values. *
*
*
*
IN --
input values follow.
*
*
*
*
FUNCTION(GETMAIN) -- acquire storage
*
*
GET_LENGTH(120) -- 120 bytes of it
*
*
SUSPEND(NO) -- don’t suspend if storage not available
*
*
INITIAL_IMAGE(X’00’)
-- clear acquired storage
*
*
to hex zero throughout.
*
*
STORAGE_CLASS(USER)
-- class of storage to be
*
*
acquired is user storage
*
*
above the 16MB line.
*
*
*
*
OUT --
output values follow
*
*
*
*
ADDRESS((R6)) -- put address of acquired storage in
*
*
register 6.
*
*
RESPONSE(*) -- put response at SMMC_RESPONSE in
*
*
macro parameter list.
*
*
REASON(*) -- put reason at SMMC_REASON in macro
*
*
parameter list.
*
*
*
*************************************************************************
*
DFHSMMCX CALL,
*
CLEAR,
*
IN,
*
FUNCTION(GETMAIN),
*
GET_LENGTH(120),
*
SUSPEND(NO),
*
INITIAL_IMAGE(X’00’),
*
STORAGE_CLASS(USER),
*
OUT,
*
ADDRESS((R6)),
*
RESPONSE(*),
*
REASON(*)
*
*
Figure 13. Global user exit program with XPI (part 2)
316
Customization Guide