Introduction
to Assembler Programming
Overview
This 12 day course is designed to enable personnel with
no prior programming experience to code, assemble, debug
and run S/390 Assembler programs. The course consists of
an introduction to addressing, S/390 architecture, the assembly
process, instruction formats and covers the basic set of
assembly instructions needed by the application programmer.
Throughout the course lectures are interspersed with practical
sessions during which the student will write a number of
simple programs, which can be tested, debugged and run on
a suitable test system.
Pre-requisites
Students who are new to programming should attend the Data
Processing Fundamentals class or have experience of
working with hexadecimal/binary numbering systems, and know
the relevant subdivisions of main storage (byte, halfword,
fullword, doubleword).
Audience
Programmers who are required to code in S/390 Assembler
on a day-to-day basis.
Student Numbers
The maximum recommended student to instructor ratio
is 12:1
Objectives
By completion of the course, the delegates will be able,
with the aid of course notes to:
· With the aid of course notes, write, assemble,
test, debug and run simple assembler programs.
· Code programs in a structured manner using subroutines
where appropriate.
· Translate machine code into its symbolic equivalent
and convert source code into object code.
Course
Outline
| Introduction |
|
Course
Overview
Instruction Format
Symbolic code
Machine code |
| Addressing |
|
Absolute
Base and Displacement |
| The
Assembly Process |
|
Using
Statements
Listing Control |
| Data
Definition |
|
Different
types of Data
DC statements
DS statements
ORG statement
EQU statement |
| Load
instructions |
|
L,
LH, LHI, LR, LM, LNR, LPR, LCR, LA |
| Store
instructions |
|
ST,
STC, STCM, STH, STM |
| Move
instructions |
|
MVC,
MVCL, MVST, MVN, MVO, MVI, MVZ |
| Compare
instructions |
|
C,
CH, CL, CLC, CLST, CLI, CLM, CLR, CR, CHI, CS, LTR |
| Branch
instructions |
|
BC,
BCR, BRC |
| Binary
Arithmetic |
|
A,
AH, AHI, AR, S, SH, SR, D, DR, M, MH, MR, MHI, MSR, MS |
| Algebraic
shifts |
|
SLA,
SLDA, SRA, SRDA |
| Logical
shifts |
|
SLL,
SLDL, SRL, SRDL |
| Subroutines |
|
BAS,
BASR, BRAS |
| Looping |
|
BCT,
BCTR, BRCT, BXH, BXLE |
| Testing
Bits |
|
TM,
TMH, TML |
| Bit
Manipulation |
|
N,
NC, NI, NR, O , OC, OI, OR, X, XC, XI, XR |
| Data
Conversion |
|
PACK,
CVB, CVD, UNPK |
| Decimal
Arithmetic |
|
AP,
DP, MP, SP, SRP, ZAP |
| Miscellaneous |
|
SRST,
ED,
EDMK, EX, TR, TRT |
|
|