Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

Mainframe Assembler

( Duration: 10 Days )

The Mainframe Assembler training course provides an introduction to the mainframe Assembler language. The course is designed to develop the skills appropriate to write and/or maintain programs and routines written in Assembler Language. Emphasis is placed on enhancing skills in problem resolution through program check interruption analysis and dump reading.

By attending Mainframe Assembler workshop, delegates will learn to:

  • Recognize architectural features, such as instruction formats, data representation, storage addressing, and so on, which are significant to program analysis
  • Identify point of program interruption, using the formatted system dump and elements of information such as the Program Status Word (PSW), the Instruction Length Code (ILC), the program' s base register(s), and so on
  • Identify appropriate standards for assembler programs in terms of program organization, register conventions, coding practices, documentation, and so on
  • Code and debug assembler language programs which:
  • Conform to standard linkage conventions using save area chaining
  • Define and use various types of data definitions, including fixed point binary, character, hexadecimal, and packed decimal
  • Employ standard macros such as CALL, SAVE, RETURN
  • Use various Assembler Language statements such as CSECT, EQU, COPY, END
  • Use both symbolic and explicit notational forms for instructions
  • Use data literals appropriately, and explain the use of LTORG to direct positioning of the literal pool
  • Create and use appropriate patterns for EDIT instructions

  • Experience with Mainframes.

This Mainframe Assembler class is ideal for application programmers and/or beginning system programmers who code, maintain and/or debug application support programs or subroutines written in Assembler Language.

COURSE AGENDA

1

Introduction to Assembler Language

  • Types of Assembler Statements
  • Number systems
  • Decimal number system
  • Hexadecimal number system
  • Conversion Formats
  • Addition of Binary And Hexadecimal Numbers
  • Bytes, Word And Halfword
  • Representation of Negative Binary Numbers
  • How Numbers are Stored in Different Formats
  • General Assembly Process
2

JCL for running an Assembly language program

  • Using IBM Supplied Procedures
  • System Library Names and their Usage
  • Assembly time Options
3

Assembly Language Format

  • (Label, Operation Code, Operand Fields, Comments, Continuation Column, Sequence Numbers)
  • Registers, Memory and its Usage
  • YREGS Macro
  • Defining Storage in Memory (DC and DS instructions)
  • Load (L instruction)
  • Add and Subtract (A and S instructions)
  • Store (ST instruction)
  • Halting Execution
  • Literal constants – F, H, C, P, D, A, V, X, B
4

Addressing

  • Base register, Index register, Displacement
  • Types of Instructions - RX, RR, RS, SS, SI
  • Two byte, four byte and six byte instruction formats
  • RR Type Instruction (AR, SR, MR, DR, LR instructions)
  • RX Type Instruction (A,S,M,D,L,ST instructions)
  • Effective Addresses
  • BALR/BASR and USING Statement
  • Analyzing Program Object Listing
  • (Identifying Location Counter, Op-Code, Operands, Data)
  • Putting an Address into a Memory Location
  • Load Address (LA instruction)
  • More Notes on Addressing
  • IBM System 370 Instruction Formats
  • Putting together concepts such as (Self-Defining Terms, Location Counter,
  • Literals, Absolute versus Re-locatable Expressions; USING, DROP, START, CSECT,
  • ENTRY; EQU, DC, DS, DSECT, ORG, LTORG, CNOP, END), Condition Code
  • Other Assembler directives such as TITLE, EJECT, SPACE, PRINT, END
  • Addressing Long Programs
5

QSAM File Handling

  • Macros used for QSAM file handling
  • DCB, MACRF, OPEN, CLOSE, PUT, GET
6

Character String Manipulation

  • Declaration Of Character Strings
  • Move Character (MVC instruction)
  • Logical Comparisons (CLC instruction)
  • Character Literals
  • Immediate Instruction (MVI and CLI instructions)
7

Arithmetic Instructions

  • LPR, LNR and LCR Instruction
  • Halfword Instructions (AH, SH, LH ….instructions)
  • Multiply Instruction (M, MR instruction)
  • Divide Instruction (D, DR instruction)
8

Compare and Branch Instructions

  • Condition Code And Branching
  • Arithmetic And Condition Code
  • Branch Instruction (BC And BCR)
  • More Complicated Masks
  • Extended Mnemonics And Arithmetic Instruction
  • Load And Test Register (LTR)
  • Compare Instruction (C instruction)
  • Compare And Compare Register (CR instruction)
  • Compare Halfword (CH instruction)
  • List of Extended Mnemonics After Compare Instruction
9

Testing and Debugging Errors In An Assembler Program

  • Reading / Analyzing Dump
10

Passing Parameter Data from JCL to Program

  • EX Instruction
11

Character Strings Revisited

  • Array Of Character Strings
  • Arrays Of Heterogeneous Data
  • Looping Through A Character String
  • MVCL, CLCL Instructions
  • TR, TRT Instructions (Validating Data, Translating Data Strings)
12

Packed Decimal Numbers

  • Declaration (Definition) of Packed Decimal Numbers
  • Packed Decimal Operations And Formats
  • Add Packed (AP instruction)
  • Subtract Packed (SP instruction)
  • Zero And Add Packed (ZAP instruction)
  • Multiplication Of Packed Decimal Numbers (MP instruction)
  • Divide Packed (DP instruction)
  • Compare Packed (CP instruction)
  • Arrays Of Packed Decimal Numbers
  • Converting Number Data From One Format to Another
  • (PACK, UNPK, CVB and CVD instructions)
  • ED and EDMK Instructions
13

Table Handling & Table Lookup Techniques

  • BCT and BCTR Instructions
  • Multi-level Tables/Arrays – Defining And Searching
  • Address Modification
  • Index Register Modification
  • Using An Index Register with An Explicit Base Register
  • Base Register Modification
  • BXLE and BXH Instruction
14

Characteristics Of A Good Assembler Language Program

15

Subprograms

  • Control Sections
  • Branching To And Returning From A Subprogram
  • Linkage conventions
  • Branch & Link (BAL), And Branch & Link Register (BALR)
  • Branch & Save (BAS), And Branch & Save Register (BASR)
  • Load Multiple And Store Multiple (LM and STM)
  • Passing Parameters
  • Saving Register Contents
  • Establishing Addressability
  • Returning A Value From A Function
16

Bit and Byte Manipulation

  • Shift Operations
  • Logical Shifts (SLL, SRL, SLDL, SRDL instructions)
  • Arithmetic Shifts (SLA, SRA, SLDA, SRDA instructions)
  • Logical Operations
  • The AND Operations (N instruction)
  • The OR Operations (O instruction)
  • The Exclusive OR Operations (X instruction)
  • Test Under Mask (TM instruction)
  • ICM, STCM, AND CLM Instructions
  • Walk Thru Of Machine Instruction Summary Of All Instructions
17

Macros

  • Simple macro
  • Symbolic parameters
  • System Variable Symbols
  • A look at code of IBM supplied macros such as SAVE, RETURN etc.
18

Reading / Analyzing Existing Program From Maintenance View Point

  • Assembler Documentation Hints -- DO'S and DON'TS

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X