Verhoef Training, Inc.

P.O.Box 1515, West Caldwell, NJ 07006
Phone:(800)631-0410 Fax:(973)403-3468



Advanced Assembler Language




AUDIENCE:   System Programmers, Technical Support and Software Programmers and Advanced Application Programmers who need the ability to write and debug Assembler Language programs and better understand the software that their installation uses.

PREREQUISITES:   When attending this Advanced Assembler course, the assumption is that the person attending will be very familiar with the instruction set as outlined in the first Assembler course. Advanced Assembler starts with the understanding that the first course's instruction set is understood. The material in Advanced Assembler has substantially increased, which includes all the new instructions that IBM has made available. Listed below is the instruction set that we have traditionally covered. Also, the new instruction set has been added to this list. Most of the course time will be handling the remaining instructions that were not discussed in the first course and the new instruction set.

DURATION:   4 Days

APPROACH:   This class is taught by lecture with hands-on workshops.

OBJECTIVES:  

  • Develop a better understanding of the machine and how it processes instructions.
  • Develop the skill to write assembler programs, particularly those small functions which will increase the efficiency of their corporation's computing throughput.
  • Gain a practical introduction to the essential operating system interfaces with Assembler.
  • Enhance their diagnostic skills.
  • Improve their dump analysis skills.
  • Enhance their ability to use advanced management services.
  • Enable themselves to code their own macro definitions
  • Enhance their knowledge of Channel Programming and how it works
  • Improve their programmers design abilities

COURSE CONTENT:  
  1. CONTROL SECTION
    • Source Code Definitions; Object Modules, and Load Modules
      Control Section Definition
      START Command Definition
      CSECT Command Definition
    • Setting up Addressability in a Control Section
      USING Statement
      BASR Instruction (Branch and Save Register)
      Multiple Base Register Specifications
      MVC Move Character Instruction
      LA Load Address Instruction
      Symbolic Address
      Base Addressing
      Displacement Calculations
      Index Addressability
      MVI Move Immediate
    • LITERALS
    • EQUATES
  2. DATA DEFINITIONS
    • Define Constant
      Binary
      Characters
      Hexadecimal
      Fixed Point
      Decimal
      Floating Point
      Addressing
    • Operand Subfields, Length Attributes, Constant Alignment, Padding, Types, Duplication Factor Expressions, Bit Length Modifier, Y CONS, A CONS, S CONS, V CONS and Q CONS
      Define Storage
  3. INSTRUCTION SET

    LH:
    (Load Half Word)
    LR:
    (Load Register)
    ST:
    (Store)
    STH:
    (Store Halfword)
    LTR:
    (Load and Test)
    C:
    (Compare)
    C:
    (Compare Halfword)
    CR:
    (Compare Register)
    BCT:
    (Branch on Count)
    BCTR:
    (Branch on Count Register)
    BAL:
    (Branch and Link)
    BALR:
    (Branch and Link Register)
    CVB:
    (Convert to Binary)
    CVD:
    (Convert to Decimal)
    UNPK:
    (Unpack)
    AH:
    (Add Halfword)
    SR:
    (Subtract Register)
    SH:
    (Subtract Halfword)
    MH:
    (Multiply Halfword)
    M/MR:
    (Multiply)
    D/DR:
    (Divide)
    AP:
    (Add Decimal)
    SP:
    (Subtract Decimal)
    MP:
    (Multiply Decimal)
    DP:
    (Divide Decimal)
    ZAP:
    (Zero and Add)
    CP:
    (Compare Decimal)
    SRP:
    (Shift and Round Decimal)
    ED:
    (Edit)
    EDMK:
    (Edit and Mark)
    ALR:
    (Add Logical)
    CLR:
    Compare Logical
    CDS:
    Compare Double and Swap
    CLR:
    Compare Logical
    CLCL:
    Compare Logical Long
    CUSE:
    Compare Until Substring Equal
    EAR:
    Extract Access
    IPM:
    Insert Program Mask
    LAM:
    Load Access Multiple
    LNR:
    Load Negative
    MC:
    Monitor Call
    MVN:
    Move Numeric
    MVPG:
    Move Page
    MVO:
    Move Offset
    SRST:
    Search String
    SPM:
    Set Program Mask
    STCK:
    Store Clock
    TS:
    Test and Set
    UPT:
    Update Tree
    CFC:
    Compare and Form Codeword
    CS:
    Compare and Swap
    BAKR:
    Branch and Stack
    CLM:
    Compare Logical Under Mask
    CLST:
    Compare Logical String
    CPYA:
    Copy Access
    ICM:
    Insert Character Under Mask
    LAE:
    Load Address Extended
    LCR:
    Load Complement
    LPR:
    Load Positive
    MVCIN:
    Move Inverse
    MVCL:
    Move Long
    MVST:
    Move String
    MVZ:
    Move Zone
    SAC:
    Set Access
    STCM:
    Store Character Under Mask
    SVC:
    Supervisor Call
    SLR:
    Subtract Logical
    CLC:
    Compare Logical Character
    B:
    Branch Instruction Format
    CLI:
    Compare Logical Integer
    STM:
    Storage Multiple
    IC:
    Insert Character
    STC:
    Store Character
    L:
    Load
    LH:
    Load Halfword
    LR:
    Load Register
    SH:
    Subtract Halfword
    ST:
    Store
    LTR:
    Load and Test
    LCR:
    Load Complement
    DSECT:
    Dummy Section
      -How to Define a Dummy Section.
      -What a Dummy Section Is.
      -How to Use a Dummy Section.
    COM:
    Instruction

    DAY 1 WORKSHOP: SORT NAMES INTO SEQUENTIAL ORDER

  4. INSTRUCTION SET (Continued)
    EX:
    Execute
    MVS:
    I/O Needs
    DOS:
    I/O Needs
    C:
    Compare Function
    CH:
    Compare Halfword
    CR:
    Compare Register
    CDS:
    Compare Double and Swap
    BCT:
    Branch on Count
    BCTR:
    Branch on Count Register
    BXH:
    Branch on Index High
    BXLE:
    Branch on Index Low or Equal
    BAL:
    Branch and Link
  5. BINARY CONVERSION
    PACK:
    Pack Instruction
    CVB:
    Convert to Binary Instruction
    CVD:
    Convert to Decimal Instruction
    UNPK:
    Unpack Instruction
  6. BINARY ARITHMETIC
    AR:
    Add Register Instruction
    A:
    Add Instruction
    AH:
    Add Halfwork Instruction
    SR:
    Subtract Register
    SH:
    Subtract Halfword
    MH:
    Multiply Halfword
    M:
    Multiply
    D:
    Divide
    D:
    Divide Register

    DAY 2 WORKSHOP: DESIGN AND CODE THE UPDATING OF THIS MATRIX FOR VALUES GIVE BY SUPPLIED ARGUMENT

  7. DECIMAL ARITHMETIC
    AP:
    Add Pack Instruct
    CP:
    Compare Decimal Instruction
    DP:
    Divide Decimal
    ED:
    Edit
    EDMK:
    Edit and Mark
    MD:
    Multiply Decimal
    SRP:
    Shift and Round Decimal
    SD:
    Subtract Decimal
    ZAP:
    Zero and ADD
  8. BOOLEAN FUNCTIONS
    XR:
    Exclusive OR Register
    X:
    Exclusive OR
    XI:
    Exclusive OR Immediate
    XC:
    Exclusive OR Character
    OR:
    OR Register
    O:
    OR Instruction
    OI:
    OR Immediate
    OC:
    OR Character
    NR:
    And Register
    N:
    And Instruction
    NI:
    And Immediate
    NC:
    And Character
    TM:
    Test Under Mask

    DAY 3 WORKSHOP: TABLE LOOK UP

  9. LINKAGE INSTRUCTIONS
    BAS/BASR:
    Branch and Save Register
    BSM:
    Branch and Set Mode
  10. SHIFT INSTRUCTIONS
    SLDA:
    Shift Left Double
    SLDL:
    Shift Left Double Logical
    SLS:
    Shift Left Single
    SRDL:
    Shift Right Double Logical
    SLSL:
    Shift Left Single Logical
    SRDA:
    Shift Right Double
    SRS:
    Shift Right Single
    SRSL:
    Shift Right Single Logical
  11. TRANSLATE
    TR:
    Translate
    TRT:
    Translate and Test

    DAY 4 WORKSHOP: CONVERT 6 BIT CODE FROM A 7 TRACK TAPE TO A 9 TRACK TAPE

    • Linkage Convention, Register Convention, Save Area for Calling Program, Non Reentrable Program, Reentrable Program
      AMODE/RMODE
    • Supervisor Services
      Creation of Subtask MVS Control Block Structure,Task Creation ATTACH Macro
    • DOS Control Block Structure DOS ATTACH
    • DETACH
      LOAD MVS
      LOAD DOS
      DELETE MVS
      IDENTIFY Add and Entry name MVS
      GETMAIN MVS
      FREEMAIN MVS
      GETVIS/FREEVIS DOS
      SCHEDULE Macro MVS
      SNAP Dump Virtual Storage
    • ESTAE
      Extended Specify Task Abnormal
      Exit
    • CALLS Branch Table
  12. MACRO LANGUAGE
    • Basic Concept
      Macro Definition
      Model Statement
      Points of Substitution
      Types of Variable Symbol
      Processing Statement
    • MACRO/MEND
    • MNOTES
    • Symbolic Parameters
    • Positional Parameters
    • Keyword Parameters
    • Model Statements
    • Concatenation Rules
    • Conditional Assemblies
    • MEXIT
    • Macro Comments
      System Variable Symbols & SYSDATE, & SYSECT, & SYSLST, & SYSNDX, & SYSPARM, & SYSTIME
    • LIBMAL, MCALL
    • Name Entry of Macro Instruction
      Sublist
      Ampersand
    • Conditional Assembler Language
      Set Symbol
      Logons
      Globals
      Sequence Symbols
      Local Definition/Globals
      SETA
      SETC
      SETB
      AIF
    • Macro Workshop

HW/08

© 2007 Verhoef Training, Inc.