• HLASM 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
      • FAIL
      • 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
    • Alerting to assembly warnings
    • 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
    • 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
    • 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
        • ASMA018E
        • 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
        • ASMA221W
        • ASMA222W
        • ASMA253C
        • ASMA254I
        • ASMA255E
        • ASMA256E
        • ASMA257U
        • 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
        • ASMA500W
        • 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
      • ASMA977U
      • 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
      • Vector 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 z Systems
    • Options
      • Sources of assembler options
      • Assembler options
    • ELF32 option
    • Batch assemblies for Linux on z Systems
    • 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