Technical Writing Samples

About Assembler

Assembler is truly a legacy language that runs on a prehistoric platform (mainframe MVS/VS/VM).

The sad truth is that there are still many unconverted applications running on mission critical systems.
We can provide any crossover and various systems documentation necessary during the conversion processes.

Every large applications environment has them.  Critical systems written in MVS Assembler. 
Obscure code that has been around for decades, but like a house of cards, you dare not disturb even one component, for fear of disrupting an entire process.
Many have found Assembler a language simple in concept, yet complex in maintenance.

Need Assembler Experts?  Contact Us.

For conversions, maintenance and development.

  • Macro coding and conversion
  • Converting and maintaining Assembler Table Handling routines, interfacing utility functions 
  • Translating, moving ASMH, ASMF and ASM98 applications to Server and Web functions
  • Replacing BAL driven database applications
BAL Expertise

Much of our Assembler application experience has taken us into the internal workings of various existing systems. There are many internal interfacing modules, subroutines, event handlers, supervisor calls (SVC) entities and other associated code that in many cases are written in BAL.
Some of these include:

  • Creating, testing, converting Assembler interface modules for:
    - IDMS/DC and ADS/O processes.
    - Modification of vendor supplied Assembler/DB/ DC messaging utility modules for compatibility with new and tailored environments.

  • Manufacturing, Aerospace, Banking, Insurance applications utilizing CAS with DB/DC mapping and internal linking and security modules. Many of these are internal Assembler routines, some of which are attached to the IDD.
  • IMS and DB/2: Assembler
  • CICS Internals:
  • DMS DB/2
  • VSAM Interfaces
  • Cobol Internals

Although this foreboding looking language may seem intimidating to the uninitiated, the fact is, its awesome power is in the simplicity of its structure!   

Relative Addressing, Anyone?

Many applications are functioning with Table-Driven Assembler modules.  For that matter, most programs make heavy utilization of Tables.  The only sleight-of-hand aspect of Assembler is that the Table logic isn't as straight forward as with many other languages.
Efficient Table Handling in Assembler entails a method known as 'Register Notation'.  This is where the effective occurrences of the table elements are referenced as displacements and addressed relatively by Registers.
You simply loaded the address of the Table into the Register, decrement the Register by the displacement of the length of an element in the Table, and place the entire process in a loop.

Its easy to see that with this method, a multidimensional table could easily become a maintenance nightmare!

Assembler or 'BAL' (Basic Assembler Language), has formed the structure of many mainframe applications. Often referred to as 'Machine Language', Assembler seemed almost cryptic in its terse command structures, or mnemonics, as it is often referred.

About Us | Contact Us | 1994 - 2008© Information Technology Solutions