High Level Assembler: Classic.
This course covers the Assembler and the application-programmer
oriented
hardware instructions that have been available from the introduction
of the
S/360 and that were added over the first 20 years or so of the
architecture.
It is estimated that 90% of existing Assembler applications use only
the
instructions covered in this course.
The course is intended for:
- Experienced programmers needing to learn Assembler
- Assembler programmers needing to brush up on their Assembler
skills
This overview comes in three parts, which are presented in sequence
below:
- Course Description
- Course Objectives
- Topical Outline
Recommended Duration: 5 Days
Benefits: Students who complete this course will be able to write
or maintain basic
Assembler programs. The emphasis is on learning all the hardware
instructions used by applications programmers as well as learning
the
basic interfaces to MVS, OS/390 or z/OS from Assembler language
programs.
Audience: Experienced programmers needing to learn Assembler as an
additional
language or who need a refresher in Assembler. This course may also
be
used to teach Assembler as a first language, but it should probably
be
extended to seven days.
Prerequisites: At the very least the student entering this course
should have background
in using ISPF/PDF or a similar product used for creating programs and
submitting jobs. Some experience in writing programs in a third
generation
language such as COBOL, PL/I, FORTRAN, or C.
Related IBM Materials.
This course is drawn from these IBM manuals; access to them in the
classroom is required (via hardcopy, BookManager, etc.):
- SA22-7201 - Principles of Operation
- GX20-0406 - Reference Summary
- SC26-4940 - High Level Assembler reference
Major Topics Include:
- Hardware fundamentals (registers, memory, addressing)
- Machine instructions
- The Assembler
- Data formats (character, packed decimal, binary)
- Working with files and program linkages
- Calculations: rounding, editing, planning results
(significant digits, implied decimal positions)
- Loops and tables
- Multiple base registers
- DSECTs, ORG, and EQU
Exercises: There are 14 hands-on exercises
- High Level Assembler: Interfaces
- High Level Assembler: Update
- High Level Assembler: Update for
z/Architecture
This course description Copyright © 2001 by Steven H. Comstock.
All rights reserved.
On successful completion of this course, the student, with the aid
of the
appropriate reference materials, should be able to:
- Code a program in Assembler language that uses the following
techniques:
- Use standard save area linkage techniques
- Define and process sequential files with fixed length records,
including:
- Reading and writing records from / to DASD files
- Reading and writing records from / to tape files
- Writing records to print files, including formatting detail
lines,
but not using carriage control characters or other report
management techniques
- Perform calculations using packed decimal arithmetic, including
formatting results with edit patterns and half-adjusting
results
- Perform calculations using binary integer arithmetic
- Work with data in tables, including defining and accessing the
elements in a table
- Use DSECTs to describe structures
- Use multiple base registers
- Document the program listing with comments to assist in
maintenance and
understanding of the code
- Debug the resulting code of program-check type errors
These course objectives Copyright © 2001 by Steven H. Comstock.
All rights reserved.
Day One
Fundamentals
- Programming concepts
- Source, Object, and Load Modules
- Memory and Data Representation
- Addressing
- The CPU
- Computer Exercise:
Setting Up For Programming
- Machine Instruction Formats
- Base / Displacement Addresses
- Assembler Language and the High Level Assembler (HLASM)
- Basic Program Structure Requirements
- Computer Exercise:
Coding, Assembling, Linking, Running
Data Description, Moving Data, Record Processing
- Defining Constants and Work Areas (DS and DC Statements for
Character
Type Data)
- MVC instruction
- Instruction Styles and Formats
- Introduction to Branching
- Introduction to Record Processing
- Data Organization
- DCB Macros
- OPEN, GET, PUT, CLOSE Macros
- Record Processing - An Example
- Computer Exercise:
File To File Program
Compares, Branches, and Linkages
- Record Layouts
- Programming Techniques: MVC
- CLC Instruction and the Condition Code
- BC, BCR Instructions
- Extended mnemonics
- BAS, BASR, BAL, BALR, IPM Instructions
Day Two
More Fundamentals
- More on Addressability
- What Can Go Wrong?
- Storage Protect Keys
- Computer Exercise:
List Fields From A Record
Packed Decimal Arithmetic
- Zoned Decimal Format
- Packed Decimal Format
- DC and DS for Zoned and Packed Type Data
- Packed Decimal Instruction Set: PACK, UNPK, AP, SP, MP, DP, CP,
ZAP
- Arithmetic Concerns
- Significant digits
- Keeping Track of Decimal Points
- Computer Exercise:
Packed Decimal Calculations
More Assembler and Arithmetic Concepts
- Redefining Storage
- Creating Data Structures
- The Assembly Listing Components
- Introduction to Debugging
- Rounding
- MVO - Move With Offset
- SRP - Shift and Round Packed
- Computer Exercise:
Half-Adjusting Data
Day Three
Editing Packed Decimal Fields
- DS / DC for Hexadecimal Data
- ED Instruction
- Edit Patterns
- Computer Exercise:
Edit Packed Decimal Data
A Deeper Look at Instruction Formats
- DC / DS for Binary Data Type
- Addresses in Instructions
- Explicit Coding - Review
- Tables
- LA Instruction
- Instruction Formats (SS, RR, RX)
- MVI, CLI Instructions
- Instruction Formats (SI)
- MVN, MVZ Instructions
- Computer Exercise:
Using Immediate Instructions
Binary Integer Data
- Binary Integer Data Formats
- Twos Complement
- DC/DS for Fullword, Halfword, and Doubleword Binary Data
- Boundary Alignment
- CVB, CVD Instructions
- L, LR, ST Instructions
- A, AR, S, SR, C, CR, MR, M, DR, D Instructions
- Concerns Of Working With Binary Integers
- Working With Binary Numbers - An Example
- Computer Exercise:
Binary Arithmetic Computations
Day Four
More Binary Instructions
- Compare Instructions
- LPR, LNR, LCR Instructions
- Logical Arithmetic: AL, ALR, CL, CLR, SL, SLR
- Halfword Instructions: AH, CH, LH, MH, SH, STH
EDit and MarK
- EDMK and floating currency signs
- Computer Exercise:
Floating Dollar Sign
Loops and Tables
- Literals
- LTORG
- Address Constants
- EQU - Equate Symbol
- Loop Control
- Tables
- BCT, BCTR, BXLE, BXH, IC, STC
- Computer Exercise:
Table Processing
Day Five
Multiple base registers, DSECTS, ORG
- STM, LM
- Multiple Base Registers
- CNOP
- Dummy sections - DSECTs
- ORG
- Computer Exercise:
Using DSECTs
Working With Bits
- O, OC, OR, OI, N, NC, NR, NI, X, XC, XR, XI
- Sorting Tables
- LTR, TM Instructions
- More on EQU
- Computer Exercise:
Sorting a Table
Shift Instructions
- SRL, SRA, SLL, SLA, SRDL, SRDA, SLDL, SLDA Instructions
- Code Fragment: Display Bit String
Translate
- Instruction Set: TR
- Code Fragment: Display Hex String
- Code Fragment: Direct Access to a Table
- Computer Exercise:
Build a Table Dynamically
TRanslate-and-Test and EXecute
- TRT - Translate and Test
- EX - Execute
- TRT and EX
Strings
- String Handling
- ICM, CLM, STCM Instructions
- MVCL, CLCL Instructions
- MVCIN Instruction
Setting Addressing Mode
- Addressing Mode
- AMODE and RMODE
- BASSM - Branch And Save And Set Mode
- BSM - Branch and Set Mode
This topical outline Copyright © 2001 by Steven H. Comstock.
All rights reserved.
Remarks? Questions? More information? Select the topic of your
choice or
e-mail us with your
questions.
To the Course Description
To the Course Objectives
To the Topical Outline
This site is a member of WebRing.
You are invited to browse the
list of mainframe-loving sites.
|
|
Dinos are not dead. They are alive and well and living in data
centers all
around you. They speak in tongues and work strange magics with
computers.
Beware the dino! And just in case you're waiting for the final
demise of
these dino's: remember that dinos ruled the world for 155-million
years!
|
Dinos and other anachronisms
[
Join Now
|
Ring Hub
| Random
|
<< Prev
|
Next >>
]
|