IBM Course Code: ES350
This course provides instruction and practice in the use of the more complex S/390 Assembler Language facilities for the experienced assembler language programmer. The course includes a discussion of standard linkage conventions, use of BSAM/QSAM and selected system macros, the macro definition language, and reentrant coding considerations.
Emphasis is placed on enhancing skills in problem resolution through analysis of more complex system-provided dumps.
What You'll Learn
- Identify data management considerations and access methods
- Code assembler language programs which:
- Conform to standard linkage conventions using save area chaining
- Define and use BSAM/QSAM datasets through standard I/O macros
- Define and execute user macros which contain:
- Positional and/or keyword parameters
- Fixed or variable entry parameter lists
- Conditional assembly logic
- Use variable length storage operations (that is, EX, MVCL, and so on)
- Employ more complex instructions (that is, TR, TRT, BXLE, and so on)
- Access JCL parameter data
- Employ LE date/time handling services
- Identify reentrant coding considerations and dynamic storage acquisition
Who Needs to Attend
This advanced course is designed for application programmers and beginning system programmers who code, maintain, and debug application support programs or subroutines written in S/390 assembler language.
You should be able to code and debug simple S/390 assembler language programs.
There are no follow-ons for this course.
- (00:15) Welcome
- (01:00) Unit 1: Review
- (00:15) Unit 2: Assembler instructions
- (01:45) Unit 3: Linkage
- (01:30) Unit 4: LE date/time handling
- (02:30) Exercise 1: PARM handling and search
- (00:15) Lab review
- (03:00) Unit 5: Access methods: BSAM/QSAM
- (03:00) Exercise 2: File handling
- (00:15) Lab review
- (00:30) Unit 6: Assembler compile-time options
- (00:30) Unit 7: SNAP dumps
- (03:30) Unit 8: Macros and the Conditional Assembly Language
- (02:30) Exercise 3: Macro modification
- (00:25) Lab review
- (01:15) Unit 9: Miscellaneous instructions
- (00:25) Unit 10: Floating point data
- (00:25) Unit 11: Reentrant coding
- (00:15) Class wrap-up