Verhoef Training Europe.

11B Kingsmead Square, Bath, BA1 2AB, UK
Phone:+44 (0)1753 852 233 Fax: +44 (0)1753 840 190



Advanced Assembler Language




SUMMARY:   Suitable for the BCS Mainframe Technology professional Exams for levels 1 and 2 Developer, level 2 Engineer (Data Storage) and level 3 Consultant (z/OS)

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 delegate attending will be very familiar with the instruction set as outlined in the first Assembler course. The course includes all the new instructions that IBM has made available. 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. Hands on.

OBJECTIVES:   After completing this course students should be able to:
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:  

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


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


Instruction Set
LH  Load Half Word
LR  Load Register
ST  Store
STH Store Halfword
LTR Load and Test
C  Compare
CH  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

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


Binary Conversion
PACK Pack Instruction
CVB Convert to Binary Instruction
CVD Convert to Decimal Instruction
UNPK Unpack Instruction


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
DR  Divide Register


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

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


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

Linkage Instructions
BAS/BASR Branch and Save Register
BSM Branch and Set Mode


Shift Instructions
SLDA Shift Left Double
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


Translate
TR  Translate
TRT Translate and Test


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

New Instructions
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


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, & SYS
· PARM, & 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

Channel Programming

© 2007 Verhoef Training