HLASM Programmer's Guide
Previous topic |
Next topic
|
Contents
|
Contact z/OS
|
Library
|
PDF
Contents (exploded view)
HLASM Programmer's Guide
SC26-4941-06
Programmer's Guide
Abstract for Programmer's Guide
Introduction
Requirements
System requirements
Machine requirements
Storage requirements
Compatibility
Assembler language support
Migration considerations
Using the assembler listing
High Level Assembler option summary
External Symbol Dictionary (ESD)
Source and object
Relocation dictionary (RLD)
Ordinary symbol and literal cross reference
Unreferenced symbols defined in CSECTs
Macro and copy code source summary
Macro and copy code cross reference
Effects of LIBMAC and PCONTROL(MCALL) options
DSECT cross reference
USING map
General Purpose Register cross reference
Diagnostic cross reference and assembler summary
Terminal output
Controlling your assembly with options
The sources of assembler options
Precedence of assembler options
Fixed installation default options
*PROCESS OVERRIDE Statement Options
ASMAOPT options
Invocation options
*PROCESS statement options
Default options
Invoking the assembler dynamically
Coding rules
Assembler options
ADATA
ALIGN
ASA (z/OS and CMS)
BATCH
CODEPAGE
COMPAT
DBCS
DECK
DISK (CMS)
DXREF
ERASE (CMS)
ESD
EXIT
FLAG
FOLD
GOFF (z/OS and CMS)
INFO
LANGUAGE
LIBMAC
LINECOUNT
LIST
MACHINE
MXREF
OBJECT
OPTABLE
PCONTROL
PESTOP
PRINT (CMS)
PROFILE
RA2
RENT
RLD
RXREF
SECTALGN
SEG (CMS)
SIZE
SUPRWARN
SYSPARM
TERM
TEST
THREAD
TRANSLATE
TYPECHECK
USING
WORKFILE
XOBJECT (z/OS and CMS)
XREF
Providing user exits
Exit types
Specifying user exits
Loading user exits
Calling user exits
Exit parameter list
Request info pointer
Parameter list version
Exit type
Request type
Options
For the SOURCE and LIBRARY exits
For the LISTING exit
For the PUNCH, OBJECT, ADATA, and TERM exits
EXITCTLn
For the SOURCE and LIBRARY exits
For the LISTING, ADATA, and TERM exits
For the OBJECT and PUNCH exits
Return code
Reason code
Buffer length
For OPEN requests
For WRITE and PROCESS requests
For READ requests
All other requests
Setting the length
Error buffer length
Error severity
User-defined field
Common user field
Buffer pointer
Error buffer pointer
Exit-specific information pointer
DCB pointer
Static assembler information pointer
HLASM VRM
PTF level
System ID
Numeric version
HLASM Services Interface pointer
Error handling
Exit-Specific Information Block
SOURCE exit processing
OPEN
CLOSE
READ
PROCESS
LIBRARY exit processing
OPEN
CLOSE
READ
PROCESS MACRO or PROCESS COPY
FIND MACRO or FIND COPY
System variables
Nesting COPY instructions and macro definitions
END OF MEMBER
LISTING exit processing
OPEN
CLOSE
WRITE
PROCESS
OBJECT (z/OS and CMS) and PUNCH exit processing
OPEN
CLOSE
WRITE
PROCESS
ADATA exit processing
OPEN
CLOSE
WRITE
PROCESS
TERM exit processing
OPEN
CLOSE
WRITE
PROCESS
Sample user exits
User exit coding example
OBJECT and PUNCH exit—OBJEXIT
ADATA Exit—ADEXIT
TERM exit—TRMEXIT
Providing external functions
External function processing
Linkage conventions
External function parameter list
Request information list
Parameter list version
Function type
Number of parameters
Return code
Flag byte
Reserved
Msg length
Msg severity
Return value (SETAF)
Parm value n (SETAF)
Return string length (SETCF)
Parm string n length (SETCF)
Pointer to user work area
Pointer to static assembler information
Pointer to msg buffer
Pointer to return string (SETCF)
Pointer to parm string n (SETCF)
Diagnosing assembly errors
Assembly error diagnostic messages
MNOTE statements
Suppression of error messages and MNOTE statements
Reference information for statements in error
Abnormal assembly termination
MHELP - macro trace facility
Assembling your program on z/OS
Input to the assembler
Output from the assembler
Invoking the assembler on z/OS
Invoking the assembler on TSO
Invoking the assembler dynamically
Batch assembling
Input and output data sets
Specifying the source data set: SYSIN
Specifying the option file: ASMAOPT
Specifying macro and copy code libraries: SYSLIB
Specifying the listing data set: SYSPRINT
Directing assembler messages to your terminal: SYSTERM
Specifying object code data sets: SYSLIN and SYSPUNCH
Specifying the associated data data set: SYSADATA
Specifying the utility data data set: SYSUT1
Return codes
Linking and running your program on z/OS
The program management binder
The loader
Creating a load module
Creating a load module on z/OS
Creating a load module on TSO
Examples using the LINK command
Input to the binder
Data sets for binder processing
Additional object modules as input
Output from the binder
Binder processing options
Specifying binder options through JCL
Specifying binder options using the TSO LINK command
AMODE and RMODE attributes
Overriding the defaults
Detecting binder errors
Running your assembled program
Running your assembled program in batch
Running your assembled program on TSO
z/OS system services and programming considerations
Adding definitions to a macro library
Using cataloged procedures
Cataloged procedure for assembly (ASMAC)
Cataloged procedure for assembly and link (ASMACL)
Cataloged procedure for assembly, link, and run (ASMACLG)
Cataloged procedure for assembly and run (ASMACG)
Overriding statements in cataloged procedures
EXEC statements
DD statements
Examples of cataloged procedures
Operating system programming conventions
Saving and restoring general register contents
Ending program execution
Accessing execution parameters
Object program linkage
Modifying program modules
Assembling your program on CMS
Input to the assembler
Output from the assembler
Accessing the assembler
Invoking the assembler on CMS
Batch assembling
Controlling your assembly
Input and output files
Specifying the source file: SYSIN
Specifying the option file: ASMAOPT
Specifying macro and copy code libraries: SYSLIB
Specifying the listing file: SYSPRINT
Directing assembler messages to your terminal: SYSTERM
Specifying object code files: SYSLIN and SYSPUNCH
Specifying the associated data file: SYSADATA
Specifying the utility data file: SYSUT1
Return codes
Diagnostic messages written by CMS
Running your program on CMS
Using the CMS LOAD and START commands
Using the CMS GENMOD command
Using the CMS LKED and OSRUN commands
Using the CMS batch facility
CMS system services and programming considerations
Using macros
Assembler macros supported by CMS
Adding definitions to a macro library
Operating system programming conventions
Saving and restoring general register contents
Ending program execution
Passing parameters to your assembler language program
Assembling your program on z/VSE
Input to the assembler
Output from the assembler
Invoking the assembler in batch
Invoking the assembler on ICCF
Invoking the assembler dynamically
Batch assembling
Controlling your assembly
Input and output files
Specifying the source file: SYSIPT
Specifying macro and copy code libraries: LIBDEF job control statement
Specifying the listing file: SYSLST
Directing assembler messages to your console log: SYSLOG
Specifying object code files: SYSLNK and SYSPCH
Specifying the associated data file: SYSADAT
Specifying the utility data file: SYSUT1
Specifying the option file: ASMAOPT
Return codes
Link-editing and running your program on z/VSE
The linkage editor
Creating a phase
Input to the linkage editor
Inputting object modules
Files for linkage editor processing
Inputting additional object modules
Linkage editor control statements
Output from the linkage editor
Running your assembled program
z/VSE system services and programming considerations
Adding definitions to a macro library
Processing E-decks
Operating system programming conventions
Saving and restoring general register contents
Ending program execution
Accessing execution parameters
Cross-system portability considerations
Using machine instructions
Using system macros
Migrating object programs
Object deck output
ESD record format
TXT record format
RLD record format
END record format
SYM record format
Associated data file output
Record types
Macro-only assemblies
ADATA record layouts
Common header section
Job Identification Record—X'0000'
ADATA Identification Record—X'0001'
ADATA Compilation Unit Start/End Record—X'0002'
Output File Information Record—X'000A'
Options File Information—X'000B'
Options record—X'0010'
External Symbol Dictionary Record—X'0020'
Source Analysis Record—X'0030'
Source Error Record—X'0032'
DC/DS record—X'0034'
DC Extension Record—X'0035'
Machine Instruction Record—X'0036'
Relocation Dictionary Record—X'0040'
Symbol Record—X'0042'
Symbol and Literal Cross Reference Record—X'0044'
Register Cross Reference Record—X'0045'
Library Record—X'0060'
Library Member and Macro Cross Reference Record—X'0062'
User-supplied Information Record—X'0070'
USING Map Record—X'0080'
Statistics record—X'0090'
Sample program
MHELP sample macro trace and dump
High Level Assembler messages
Message code format
Message descriptions
Assembly error diagnostic messages
Message not known
Messages
ASMA001E
ASMA002S
ASMA003E
ASMA004E
ASMA005S
ASMA007S
ASMA008S
ASMA009S
ASMA010E
ASMA011E
ASMA012S
ASMA013S
ASMA014E
ASMA015W
ASMA016W
ASMA017W
ASMA018S
ASMA019W
ASMA020E
ASMA021E
ASMA022I
ASMA023E
ASMA024E
ASMA025S
ASMA026S
ASMA027S
ASMA028E
ASMA029E
ASMA030E
ASMA031E
ASMA032E
ASMA033I
ASMA034E
ASMA035S
ASMA036W
ASMA037E
ASMA038S
ASMA039S
ASMA040S
ASMA041E
ASMA042W
ASMA043E
ASMA044E
ASMA045W
ASMA046E
ASMA047E
ASMA048E
ASMA049W
ASMA050E
ASMA051E
ASMA052S
ASMA053W
ASMA054E
ASMA055S
ASMA056W
ASMA057E
ASMA058E
ASMA059C
ASMA060S
ASMA061E
ASMA062E
ASMA063E
ASMA064S
ASMA065E
ASMA066W
ASMA067S
ASMA068S
ASMA069S
ASMA070E
ASMA071E
ASMA072E
ASMA073E
ASMA074E
ASMA075E
ASMA076E
ASMA077E
ASMA078E
ASMA079E
ASMA080E
ASMA081E
ASMA082E
ASMA083E
ASMA084S
ASMA085I
ASMA086S
ASMA087S
ASMA088E
ASMA089E
ASMA090E
ASMA091E
ASMA092E
ASMA093E
ASMA094I
ASMA095W
ASMA096E
ASMA097E
ASMA098E
ASMA099W
ASMA100E
ASMA101E
ASMA102E
ASMA103E
ASMA104W
ASMA105U
ASMA106E
ASMA107E
ASMA108E
ASMA109E
ASMA110S
ASMA111S
ASMA112S
ASMA113S
ASMA114S
ASMA115S
ASMA116E
ASMA117E
ASMA118S
ASMA119S
ASMA120S
ASMA121S
ASMA122S
ASMA123S
ASMA124S
ASMA125S
ASMA126S
ASMA127S
ASMA128S
ASMA129S
ASMA130S
ASMA131S
ASMA132S
ASMA133S
ASMA134S
ASMA135S
ASMA136S
ASMA137S
ASMA138W
ASMA139S
ASMA140W
ASMA141E
ASMA142E
ASMA143E
ASMA144E
ASMA145E
ASMA146E
ASMA147E
ASMA148E
ASMA149E
ASMA150E
ASMA151E
ASMA152S
ASMA153S
ASMA154E
ASMA155S
ASMA156S
ASMA157S
ASMA158E
ASMA159S
ASMA160W
ASMA161W
ASMA162S
ASMA163W
ASMA164W
ASMA165W
ASMA166S
ASMA167E
ASMA168C
ASMA169I
ASMA170S
ASMA171S
ASMA172E
ASMA173S
ASMA174S
ASMA175S
ASMA176E
ASMA178S
ASMA179S
ASMA180S
ASMA181S
ASMA182E
ASMA183E
ASMA184C
ASMA185W
ASMA186E
ASMA187E
ASMA188E
ASMA189E
ASMA190E
ASMA191W
ASMA192W
ASMA193W
ASMA194W
ASMA195W
ASMA196W
ASMA198E
ASMA199E
ASMA201W
ASMA202W
ASMA203E
ASMA204E
ASMA205E
ASMA206E
ASMA207E
ASMA208E
ASMA209E
ASMA210E
ASMA211E
ASMA212W
ASMA213W
ASMA214E
ASMA215W
ASMA216W
ASMA217W
ASMA218W
ASMA219W
ASMA220W
ASMA253C
ASMA254I
ASMA300W
ASMA301W
ASMA302W
ASMA303W
ASMA304W
ASMA305E
ASMA306W
ASMA307E
ASMA308E
ASMA309W
ASMA310W
ASMA311E
ASMA312E
ASMA313E
ASMA314E
ASMA315E
ASMA316E
ASMA317E
ASMA318W
ASMA319W
ASMA320W
ASMA321E
ASMA322E
ASMA323W
ASMA324I
ASMA400W
ASMA401N
ASMA402W
ASMA404W
ASMA409I
ASMA413C
ASMA414C
ASMA415N
ASMA416C
ASMA417C
ASMA418C
ASMA419C
ASMA420N
ASMA421N
ASMA422N
ASMA423N
ASMA424W
ASMA425N
ASMA426N
ASMA427N
ASMA428N
ASMA429W
ASMA430W
ASMA431W
ASMA432W
ASMA433W
ASMA434N
ASMA435I
ASMA436N
ASMA437N
ASMA438N
ASMA439N
ASMA440N
ASMA441N
ASMA442N
ASMA443N
ASMA500E
ASMA700I
ASMA701W
ASMA702E
ASMA703S
ASMA704C
ASMA710I
ASMA711W
ASMA712E
ASMA713S
ASMA714C
Abnormal assembly termination messages
ASMA930U
ASMA932U
ASMA933U
ASMA934U
ASMA935U
ASMA936U
ASMA937U
ASMA938U
ASMA939U
ASMA940U
ASMA941U
ASMA942U
ASMA943U
ASMA944U
ASMA945U
ASMA946U
ASMA950U
ASMA951U
ASMA952U
ASMA953U
ASMA954U
ASMA955U
ASMA956U
ASMA957U
ASMA958U
ASMA960U
ASMA961U
ASMA962U
ASMA963U
ASMA964U
ASMA966U
ASMA967U
ASMA970U
ASMA971U
ASMA972U
ASMA974U
ASMA975U
ASMA976U
ASMA990U
ASMA998U
ASMA999U
ASMAHL Command Error Messages (CMS)
ASMACMS002E
ASMACMS003E
ASMACMS004E
ASMACMS005E
ASMACMS006E
ASMACMS007E
ASMACMS010E
ASMACMS011E
ASMACMS038E
ASMACMS040E
ASMACMS041E
ASMACMS042E
ASMACMS043E
ASMACMS044E
ASMACMS052E
ASMACMS062E
ASMACMS070E
ASMACMS074E
ASMACMS075E
ASMACMS076E
User interface macros
Sample ADATA user exits (z/OS and CMS)
Sample ASMAXADT user exit to filter records
Preparing the exit
Preparing the filter modules
Call interface
Registers on entry
Parameters on entry
Information messages
Error diagnostic messages
Preparing the sample filter module ASMAXFLU
Output from ASMAXFLU
Error messages
Assembling and link-editing ASMAXFLU
Invoking the exit
Sample ASMAXADC user exit to control record output
Preparing the exit
Invoking the exit
Messages
Sample ASMAXADR user exit to reformat records
Preparing the exit
Invoking the exit
Messages
Sample LISTING user exit (z/OS and CMS)
Function
Preparing the exit
Invoking the exit
Messages
Sample SOURCE user exit (z/OS and CMS)
Function
Preparing the exit
Invoking the exit
How to generate a translation table
Preparing the translation table
How to generate a Unicode translation table
Preparing the Unicode translation table
TYPECHECK assembler option
Extensions to the DC, DS, and EQU assembler instructions
Type checking behavior for REGISTER
Access Register type checking
General Register type checking
Control Register type checking
Floating-Point Register type checking
Type checking behavior for MAGNITUDE
HLASM Services Interface
Communication and work areas
Invoking the HLASM Services Interface
Get storage service
Return storage service
Time and date service
Write to terminal service
Mapping the communication and work areas
High Level Assembler for Linux on zSeries
Options
Sources of assembler options
Assembler options
ELF32 option
ASMAXT2E messages
Exit not coded at same level (2,3) as Assembler
Exit called for other than PUNCH or OBJECT
Exit not initialized, and not entered for OPEN
Insufficient working storage for exit
Invalid action or operation type requested
Expecting input record, zero buffer length
Close request for wrong exit type
Invalid request-list options value
Invalid parm-string length
Too many ESD IDs
Too many RLD items
Too many OBJ SD/CM/PC sections
Too many ELF sections
String table overflow
Too many LD items
Too many ELF symbols
Insufficient storage for OBJ TXT records
AMODE/RMODE 24 or 64 not supported in section 'xxxxxxxx'
External Dummy (XD) item 'xxxxxxxx' not supported
Adcon at xxxxxxxx in section with ID xxxx not 4 bytes long
Adcon at xxxxxxxx in section with ID xxxx not type A or V
Adcon at xxxxxxxx in section with ID xxxx requires unsupported negative relocation
ELF file not produced due to previous errors
Section length on END record not supported
Invalid END-record entry point request
LD item 'xxxxxxxx' in unsupported section is ignored
RLD item at address 'xxxxxxxx' in unsupported section with ID 'xxxx' is ignored
RLD item at address 'xxxxxxxx' in unsupported section with ID 'xxxx' references unsupported section
Section 'xxxxxxxx' ignored, addresses exceed X'FFFFFF'
RLD items at 'xxxxxxxx' in section with ID 'xxxx' cause double relocation
No TXT records in OBJ file
Entry point in zero-length PC section rejected
LD item 'xxxxxxxx' in section with ID 'xxxx' lies outside its owning section
LD item 'xxxxxxxx' in COM section with ID 'xxxx' not supported
Invalid or duplicate parm-string character ignored
nnnnnnnn SYM records ignored
nnnnnnnn non-OBJect record(s) ignored
Zero-length Private Code (PC) section ignored
xxxxxxxx object records processed, xxxx usable control section(s)
ELF file length X'xxxxxxxx'
Transactional Memory exit ASMAXTXP
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
ASMA701W
Bibliography
Glossary
Index
Copyright IBM Corporation 1990, 2014