Advanced Assembler Language Programming
This class will build on the concepts and specific z/OS assembler instructions and techniques covered in the z/OS Basic Assembler class.
A number of programming exercises will be used to allow the student to become proficient in z/OS assembler language programming techniques.
In particular, this class will expose the student to and provide an opportunity to develop z/OS assembler code that uses:
-
Tables, lists, and linked lists.
-
z/OS units of work such as TCBs and multi-tasking.
-
z/OS assembler techniques and services to provide high levels of availability (e.g. recovery routines)
-
z/OS assembler instructions and techniques for serialization (e.g. CS instruction, , ENQs, Latches, and Locks)
-
z architecture instructions that have been more recently added to the instruction set and are of interest to the application programmer (e.g. BASR, BASM, branch relative instructions, etc.)
-
z/OS multi-tasking using non-privileged system services (e.g. ATTACH/DETACH, WAIT/POST, etc.)
-
Programs with multiple CSECTs (e.g. use of the binder, passing parameters and data using data areas, etc.)
-
Re-entrant code; the student will continue to use and develop expertise in designing and coding re-entrant programs
The exercises used in the class will allow the student to continue to develop good practices for designing, coding, and testing well structured and well documented z/OS assembler code. In addition, the student will have the opportunity to practice debugging and reading existing z/OS assembler code. This approach is used to simulate a job assignment where z/OS assembler code is being used or modified, but new development may not be using z/OS assembler language.
