34 lines
1.6 KiB
Plaintext
34 lines
1.6 KiB
Plaintext
STOREXNO AMODE 31
|
|
STOREXNO RMODE ANY
|
|
STOREXNO CSECT ,
|
|
SYSSTATE AMODE64=NO,ARCHLVL=3 gen z9+, z/OS 2.1+ bin code
|
|
IEABRCX DEFINE convert based to relative branches
|
|
BAKR 14,0 callers registers to linkage stack
|
|
LARL 12,CONSTANTS load address relative long
|
|
USING CONSTANTS,12 using for constants
|
|
LA 9,WALEN load memory length in Register 9
|
|
STORAGE OBTAIN,LENGTH=(9),EXECUTABLE=NO,LOC=ANY
|
|
LR 10,1 Reg1 holds address of mem area
|
|
USING DYNAREA,10 using for dynamic memory area
|
|
LA 13,SAVEA PC routine convention: ...
|
|
MVC SAVEA+4(4),=C'F1SA' ... format 1 savearea: L-stack
|
|
*
|
|
* copy instruction sequence SR Reg15,Reg15; Branch Reg14 to DATA1
|
|
* in obtained storage location, and branch to it
|
|
*
|
|
MVC DATA1(8),=X'1BFF07FE00000000' SR 15,15; BR 14
|
|
LA 7,DATA1
|
|
BASR 14,7 This will OC4-4 with EXECUTABLE=NO
|
|
STORAGE RELEASE,ADDR=(10),LENGTH=(9),EXECUTABLE=NO
|
|
PR , return to caller
|
|
CONSTANTS DS 0D constant section, aligned for LARL
|
|
DC C'SOMEDATA'
|
|
DC C'SOMEOTHERDATA'
|
|
LTORG , have assembler build literal pool
|
|
DYNAREA DSECT
|
|
SAVEA DS 18F
|
|
DATA1 DS 2F
|
|
DATA2 DS CL256 can receive any value
|
|
WALEN EQU *-DYNAREA length of obtained area
|
|
END STOREXNO end of module
|