Running assembler language code from the OMVS shell
The Assembler Callable Services publication describes the assembler interface to
Unix System Services. You can assemble and link an assembler program from the shell
using c89. For example,
c89 -o mylmod -e MYENTRY mymod.s
Here, mymod.s contains the source (.s means use the assembler). -o specifies the
output executable file name and -e specifies the entry point. The program needs
to be coded as reentrant.
Parameters
On entry, the program parameter list consists of the following full word values:
- the number of arguments - the first argument is the name of the executable file
followed by any other arguments specified.
- the number of environment variable strings.
- a list of pointers to the 4 byte length value for each argument passed.
- a list of pointers to the value of each argument passed.
- a list of pointers to the 4 byte length value for each environment variable
string.
- a list of pointers to the value of each environment variable string.
Environment variable strings are passed in the form "varname=varvalue".
All arguments and envrionment variable strings include a terminating null
character.
Dumps
You can request a dump by specifying a value for the _BPXK_MDUMP environment
variable. The dump will be written to the specified MVS data set or HFS file.
You can also request a dump by allocating a data set to file SYSMDUMP.
If the abend happens in the same address space as this allocation, then the
dump will be written to that file. Otherwise, a dump will be created in the
user's working directory named coredump.pid, where pid is the process ID
for the process being dumped.This file will be in the same format as a SYSMDUMP.
To process an HFS dump file with IPCS, you can copy it into an MVS data set
with a LRECL of 4160 using a TSO/E OGET command. You can also allocate the file
directly using its PATHNAME and use the FILE option from IPCS to access it.
See the main OMVS page here for more links to more
information about OMVS.