
|
Advanced Assembler Language |
|
| AUDIENCE: |
System Programmers, Technical Support and Software Programmers and Advanced Application Programmers who need the ability to write and debug Assembler Language programs and better understand the software that their installation uses. |
| PREREQUISITES: |
When attending this Advanced Assembler course, the assumption is that the person attending will be very familiar with the instruction set as outlined in the first Assembler course. Advanced Assembler starts with the understanding that the first course's instruction set is understood. The material in Advanced Assembler has substantially increased, which includes all the new instructions that IBM has made available. Listed below is the instruction set that we have traditionally covered. Also, the new instruction set has been added to this list. Most of the course time will be handling the remaining instructions that were not discussed in the first course and the new instruction set. |
| APPROACH: |
This class is taught by lecture with hands-on workshops. |
| OBJECTIVES: |
- Develop a better understanding of the machine and how it processes instructions.
- Develop the skill to write assembler programs, particularly those small functions which will increase the efficiency of their corporation's computing throughput.
- Gain a practical introduction to the essential operating system interfaces with Assembler.
- Enhance their diagnostic skills.
- Improve their dump analysis skills.
- Enhance their ability to use advanced management services.
- Enable themselves to code their own macro definitions
- Enhance their knowledge of Channel Programming and how it works
- Improve their programmers design abilities
|
| COURSE CONTENT: |
- CONTROL SECTION
- Source Code Definitions; Object Modules, and Load Modules
- Control Section Definition
- START Command Definition
- CSECT Command Definition
- Setting up Addressability in a Control Section
- USING Statement
- BASR Instruction (Branch and Save Register)
- Multiple Base Register Specifications
- MVC Move Character Instruction
- LA Load Address Instruction
- Symbolic Address
- Base Addressing
- Displacement Calculations
- Index Addressability
- MVI Move Immediate
- LITERALS
- EQUATES
- DATA DEFINITIONS
- Define Constant
- Binary
- Characters
- Hexadecimal
- Fixed Point
- Decimal
- Floating Point
- Addressing
- Operand Subfields, Length Attributes, Constant Alignment, Padding, Types, Duplication Factor Expressions, Bit Length Modifier, Y CONS, A CONS, S CONS, V CONS and Q CONS
- Define Storage
- INSTRUCTION SET
-
LH:
- (Load Half Word)
- LR:
- (Load Register)
- ST:
- (Store)
- STH:
- (Store Halfword)
- LTR:
- (Load and Test)
- C:
- (Compare)
- C:
- (Compare Halfword)
- CR:
- (Compare Register)
- BCT:
- (Branch on Count)
- BCTR:
- (Branch on Count Register)
- BAL:
- (Branch and Link)
- BALR:
- (Branch and Link Register)
- CVB:
- (Convert to Binary)
- CVD:
- (Convert to Decimal)
- UNPK:
- (Unpack)
- AH:
- (Add Halfword)
- SR:
- (Subtract Register)
- SH:
- (Subtract Halfword)
- MH:
- (Multiply Halfword)
- M/MR:
- (Multiply)
- D/DR:
- (Divide)
- AP:
- (Add Decimal)
- SP:
- (Subtract Decimal)
- MP:
- (Multiply Decimal)
- DP:
- (Divide Decimal)
- ZAP:
- (Zero and Add)
- CP:
- (Compare Decimal)
- SRP:
- (Shift and Round Decimal)
- ED:
- (Edit)
- EDMK:
- (Edit and Mark)
- ALR:
- (Add Logical)
- CLR:
- Compare Logical
- CDS:
- Compare Double and Swap
- CLR:
- Compare Logical
- CLCL:
- Compare Logical Long
- CUSE:
- Compare Until Substring Equal
- EAR:
- Extract Access
- IPM:
- Insert Program Mask
- LAM:
- Load Access Multiple
- LNR:
- Load Negative
- MC:
- Monitor Call
- MVN:
- Move Numeric
- MVPG:
- Move Page
- MVO:
- Move Offset
- SRST:
- Search String
- SPM:
- Set Program Mask
- STCK:
- Store Clock
- TS:
- Test and Set
- UPT:
- Update Tree
- CFC:
- Compare and Form Codeword
- CS:
- Compare and Swap
- BAKR:
- Branch and Stack
- CLM:
- Compare Logical Under Mask
- CLST:
- Compare Logical String
- CPYA:
- Copy Access
- ICM:
- Insert Character Under Mask
- LAE:
- Load Address Extended
- LCR:
- Load Complement
- LPR:
- Load Positive
- MVCIN:
- Move Inverse
- MVCL:
- Move Long
- MVST:
- Move String
- MVZ:
- Move Zone
- SAC:
- Set Access
- STCM:
- Store Character Under Mask
- SVC:
- Supervisor Call
- SLR:
- Subtract Logical
- CLC:
- Compare Logical Character
- B:
- Branch Instruction Format
- CLI:
- Compare Logical Integer
- STM:
- Storage Multiple
- IC:
- Insert Character
- STC:
- Store Character
- L:
- Load
- LH:
- Load Halfword
- LR:
- Load Register
- SH:
- Subtract Halfword
- ST:
- Store
- LTR:
- Load and Test
- LCR:
- Load Complement
- DSECT:
- Dummy Section
- -How to Define a Dummy Section.
- -What a Dummy Section Is.
- -How to Use a Dummy Section.
- COM:
- Instruction
DAY 1 WORKSHOP: SORT NAMES INTO SEQUENTIAL ORDER
- INSTRUCTION SET (Continued)
-
- EX:
- Execute
- MVS:
- I/O Needs
- DOS:
- I/O Needs
- C:
- Compare Function
- CH:
- Compare Halfword
- CR:
- Compare Register
- CDS:
- Compare Double and Swap
- BCT:
- Branch on Count
- BCTR:
- Branch on Count Register
- BXH:
- Branch on Index High
- BXLE:
- Branch on Index Low or Equal
- BAL:
- Branch and Link
- BINARY CONVERSION
-
- PACK:
- Pack Instruction
- CVB:
- Convert to Binary Instruction
- CVD:
- Convert to Decimal Instruction
- UNPK:
- Unpack Instruction
- BINARY ARITHMETIC
-
- AR:
- Add Register Instruction
- A:
- Add Instruction
- AH:
- Add Halfwork Instruction
- SR:
- Subtract Register
- SH:
- Subtract Halfword
- MH:
- Multiply Halfword
- M:
- Multiply
- D:
- Divide
- D:
- Divide Register
DAY 2 WORKSHOP: DESIGN AND CODE THE UPDATING OF THIS MATRIX FOR VALUES GIVE BY SUPPLIED ARGUMENT
- DECIMAL ARITHMETIC
-
- AP:
- Add Pack Instruct
- CP:
- Compare Decimal Instruction
- DP:
- Divide Decimal
- ED:
- Edit
- EDMK:
- Edit and Mark
- MD:
- Multiply Decimal
- SRP:
- Shift and Round Decimal
- SD:
- Subtract Decimal
- ZAP:
- Zero and ADD
- BOOLEAN FUNCTIONS
-
- XR:
- Exclusive OR Register
- X:
- Exclusive OR
- XI:
- Exclusive OR Immediate
- XC:
- Exclusive OR Character
- OR:
- OR Register
- O:
- OR Instruction
- OI:
- OR Immediate
- OC:
- OR Character
- NR:
- And Register
- N:
- And Instruction
- NI:
- And Immediate
- NC:
- And Character
- TM:
- Test Under Mask
DAY 3 WORKSHOP: TABLE LOOK UP
- LINKAGE INSTRUCTIONS
-
- BAS/BASR:
- Branch and Save Register
- BSM:
- Branch and Set Mode
- SHIFT INSTRUCTIONS
-
- SLDA:
- Shift Left Double
- SLDL:
- Shift Left Double Logical
- SLS:
- Shift Left Single
- SRDL:
- Shift Right Double Logical
- SLSL:
- Shift Left Single Logical
- SRDA:
- Shift Right Double
- SRS:
- Shift Right Single
- SRSL:
- Shift Right Single Logical
- TRANSLATE
-
- TR:
- Translate
- TRT:
- Translate and Test
DAY 4 WORKSHOP: CONVERT 6 BIT CODE FROM A 7 TRACK TAPE TO A 9 TRACK TAPE
- Linkage Convention, Register Convention, Save Area for Calling Program, Non Reentrable Program, Reentrable Program
- AMODE/RMODE
- Supervisor Services
- Creation of Subtask MVS Control Block Structure,Task Creation ATTACH Macro
- DOS Control Block Structure DOS ATTACH
- DETACH
- LOAD MVS
- LOAD DOS
- DELETE MVS
- IDENTIFY Add and Entry name MVS
- GETMAIN MVS
- FREEMAIN MVS
- GETVIS/FREEVIS DOS
- SCHEDULE Macro MVS
- SNAP Dump Virtual Storage
- ESTAE
- Extended Specify Task Abnormal
- Exit
- CALLS
Branch Table
- MACRO LANGUAGE
- Basic Concept
- Macro Definition
- Model Statement
- Points of Substitution
- Types of Variable Symbol
- Processing Statement
- MACRO/MEND
- MNOTES
- Symbolic Parameters
- Positional Parameters
- Keyword Parameters
- Model Statements
- Concatenation Rules
- Conditional Assemblies
- MEXIT
- Macro Comments
- System Variable Symbols & SYSDATE, & SYSECT, & SYSLST, & SYSNDX, & SYSPARM, & SYSTIME
- LIBMAL, MCALL
- Name Entry of Macro Instruction
- Sublist
- Ampersand
- Conditional Assembler Language
- Set Symbol
- Logons
- Globals
- Sequence Symbols
- Local Definition/Globals
- SETA
- SETC
- SETB
- AIF
- Macro Workshop
HW/08 |
|
© 2007 Verhoef Training, Inc.
|
|
Schedule Dates
Course offered as Inhouse or Public
|
|
|
|
|