ASSEMBLER LANGUAGE



Introduction to JCL
Assembler Utilization on MVS (Batch Mode)
Related Documentation

Introduction

This documentation is an introduction to using the Assembler language on the USC mainframe system.  It was produced by the Academic Research and Data Center of USC.  Questions about its content should be referred to ARDC at 777-6865.   Following are definitions pertinent to the material discussed in this documentation:

assembler - Generally speaking, an assembler is a computer program that translates symbolic instructions into machine language instructions on a one-for-one basis.  Usually the assembler is 'hardware dependent,' that is, each type of computer has a different assembler.

assembler language - An assembler language consists of the mnemonic (symbolic) instructions that are translated (or 'assembled') into machine code by the assembler.  Another frequently used term for these instructions is 'assembly language.'

Assembler language coding allows the most flexibility in programming and the most control over the object program.  Well-written assembler language coding is usually faster and more efficient than equivalent higher-level coding and generally requires less storage in which to execute.

Computer Services currently provides two assemblers for System/370 machine code from IBM and the High Level assembler (available on MVS only).  These two assemblers support roughly the same language with minor differences.

Assembler Utilization on MVS (Batch Mode)

Following are examples of Job Control Language (JCL) which can be used to access the assemblers.  Please note that all examples below make use of the High Level assembler.

Assemble Only


          JOB statement
     // EXEC ASMAC
     //C.SYSIN DD *
          Assembler program
     /*
     //

Assembler and Execute Using the VS Loader

          JOB statement
     // EXEC ASMACG
     //C.SYSIN DD *
          Assembler program
     //G.name DD (* DD statement parameters for file *)
     //

Assemble, Link Edit, and Execute

          JOB statement
     // EXEC ASMACLG
     //C.SYSIN DD *
          Assembler program
     //G.name DD (* DD statement parameters for file *)
     //
name - replace with the file name used in the assembler language program.

Related Documentation

The following manuals can be purchased from IBM:

High Level Assembler Language Reference (SC26-4940)
Describes the IBM System 370 Assembler Language.  Provides a quick definition and syntactical reference of the elements of the language.

High Level Assembler Programmer's Guide, (SC26-4941)
Provides reference to options available for the assembler and directions on its use.

Supervisor Services, (GC28-0683)
Describes the macro instructions available which are used to request operating system supervisor services such as program management and storage management.

Data Management Services, (GC26-3783)
Describes the facilities the operating system has available for data management.  It describes the various access methods and their use.

Data Management Macro Instructions, (GC26-3793)
A condensed reference to the macros explained in the above publication.

System 370 Principles of Operation, (GA22-7000)
An explanation of the instructions available on the System/370 and the basic operation of the machine.


Following is a list of documentation related to topics covered in this document.

JCL - Describes the Job Control Language necessary to submit batch jobs.

SUBMIT - Describes general procedures for submitting batch programs from VM/CMS.

Users should also consult the ARDC Documentation or INFOHAND and for information on other available documentation.

ARDC Documentation     ARDC Home Page     USC Home Page    

This page updated September 9, 1999 by Amy W. Yarbrough, Academic Research and Data Center.
Copyright © 1999, The Board of Trustees of the University of South Carolina.
URL http://www.sc.edu/ardc/docs/assemb.htm