| Oakwood Computing Ltd 1 Dornton Road South Croydon Surrey CR2 7DR UK Tel: +44 (0) 20 8686 7266 courses@oakwoodcomputing.co.uk |
| Updated 10 February, 2004 |
Objectives: Top
Contents
On successful completion of this course each student will
be able to:
* describe how registers are used
* distinguish between machine, assembler and macro instructions
* given an instruction format, explain how the components are used
* explain how the components of instruction addresses are used
* describe how to interpret the assembly and link-edit listings
* list the different data types which are commonly used in assembler programs
* use instructions which define data
* list the syntax rules for coding
* use the common machine instructions for manipulating data
* use instructions which perform binary and packed arithmetic
* use instructions which control program execution
* explain how program linkage is performed in an Assembler environment
* use macros which process VSAM and non-VSAM files
* describe how VSAM files are declared using ACBs
* explain how the EXLST macro handles errors
* code RPL macros to access VSAM files
* explain how error codes are returned to the program
* code OPEN and CLOSE macros
* process VSAM files using GET, PUT, POINT, ERASE, ENDREQ macros
* process BDAM files (optional,
archaic, but occasionally required)
* explain how variable length records are created and retrieved
* use SHOWCB and MODCB for variable length records
* explain how SHOWCB can retrieve useful data
* use TESTCB to test fields in control blocks
* use GENCB macros to generate control blocks
* use DSECTs with tables and arrays
* interpret the output from a conditional assembly
* describe tha layout and usage of the linkage stack
* given a dump of an assembler program, identify the failing instruction and
find the contents of data fields
* describe the structure of a 64-bit address space
* use G and GF instructions to process full and half register values
Contents: Top
Objectives
Assembler overview
The assembly process; instruction types: machine, assembler, macro; libraries;
addressing modes; register usage; instruction formats; syntax rules; comments.
Defining data
Using DS and DC; defining literals and symbols; alignment, repeated occurrences;
data types: character, zoned, packed, binary, negative forms of numbers.
Assembler output
Printed diagnostics and their use; XREF tables; the external symbol directory;
relocation dictionary and source and object listings.
Basic processing instructions
Comparison instructions; data manipulation and conversion; transfer of control:
branch and link, BAL, BALR, branch and save, BAS, BASR, loops; editing fields;
arithmetic and logical operations; subroutines and CALL, standard linkage
conventions, passing parameters.
File processing instructions
MVS (OS) and VSAM macros and their use: DCB, ACB, EXLST, RPL, OPEN, GET, PUT,
CLOSE, POINT, MODCB, SHOWCB, etc; BDAM considerations (optional).
Advanced techniques
Table handling; using external tables; DSECTs; translation; ORG; shifting;
string instructions; conditional assembly; 31-bit considerations: AMODE, RMODE;
dumps and debugging, use of PSW; hints and tips. GENCB, GETMAIN, FREEMAIN,
execute and list form of macros. Address space switching, linkage stack, BAKR.
64-bit Assembler introduction
Address space structure; the bar; memory objects: usable area, guard area;
tokens; 64-bit binary operations; G and GF instructions; AMODE 64; MEMLIMIT
in JCL; parameter lists; savearea formats; IARV64: GETSTOR, DETACH, PAGEFIX,
UNPAGEFIX, PAGEIN, PAGEOUT, DISCARDATA, CHANGEGUARD, LIST; SAM31, SAM64.