High Level Assembler: Macro Programming.
Deze cursus behandelt de macro faciliteiten welke beschikbaar zijn
in de
High Level Assembler. Tevens worden geavanceerde technieken voor het
programmeren van macro's behandeld, waaronder abstracte data typen,
overerving, en functie overlaying.
De cursus is bedoeld voor:
- Ervaren Assembler programmeurs die hun vaardigheden in het
schrijven van
macro's willen verbeteren.
- Assembler programmeurs met enige ervaring die hun begrip van de
macro
faciliteit willen verbeteren.
De cursus presentatie hieronder bestaat uit de volgende drie
onderdelen:
- Cursus beschrijving
- Cursus doelstellingen
- Lijst van onderwerpen
Verwachte duur: 2 dagen
Voordelen: Na afronding van deze cursus kunnen de deelnemers
macro's voor Assembler
programma's ontwerpen, bouwen, documenteren, en onderhouden. De
nadruk
ligt op het aanleren van de beschikbare macro faciliteiten, alsmede
hun
gebruik en implementatie in een geavanceerde programmeer-omgeving.
Doelgroep: Ervaren Assembler programmeurs die hun vaardigheid in
het bouwen van
macro's willen uitbreiden.
Voorwaarden: Deelnemers dienen ten minste ervaring te hebben met
ISPF/PDF of een
vergelijkbaar produkt voor het aanmaken van programma's en het
submitten van jobs. Enige ervaring in het schrijven van Assembler
programma's is aanbevolen.
IBM Materiaal. Met toestemming van IBM is deze cursus afgeleid
van John Ehrman's SHARE
presentatie "Assembler as a Higher Level Language: Macros and
Conditional Assembly Techniques".
Het wordt aanbevolen de volgende IBM handboeken onder handbereik te
hebben
tijdens de cursus (op papier, via BookManager, etc.):
- SC26-4940 - High Level Assembler reference
De belangrijkste onderwerpen:
- Conditional Assembly Language
- Statement Selection
- Statement Generation and Substitution
- External Conditonal Assembly Functions
- Debugging Conditional Assembly Language
- Macro Facility concepts
- Macro Definition
- Macro Comments and Readability
- Macro Parameters
- Macro Arguments Attributes
- Global Variables
- Macro Debugging Techniques
- Defining Symbols
- Generating a Sequence of Values
- MVC with Source Operand's Length
- Converting between Hex and Decimal
- Named Integer Constants
- AREAD and AINSERT
- Macro Recursion
- Bit handling
- Advanced Bit Handling
- Defining and Using Data Types
- Type Checking
- Encapsulated Abstract Data Types
- Front-ending Macros and Instructions
Na succesvolle voltooiing van de cursus kan de deelnemer, aan de
hand
van de toepasselijke handboeken:
- Assembler programma's voorzien van conditionele assembly
technieken
om programma-varianten te ondersteunen vanuit het single-source
concept.
- Assembler macro's definiëren en aanmaken met gebruikmaking
van de
volgende technieken:
- Source en/of macro library definities
- Geneste macro definities
- Geneste en/of recursieve macro aanroepen
- Keyword parameters en/of positionele parameters
- Sublijsten van parameters verwerken
- Overerving en functie overlaying (polymorphisme)
- Abstracte data typen, encapsulatie en type checking
- Front-ending of vervanging van bestaande macro's en/of
instructies
- Programma's en macro's documenteren met commentaar om de
leesbaarheid en
de onderhoudbaarheid van de code te verbeteren
- Fouten in de gemaakte code opsporen en verhelpen
Dag een
Conditional Assembly and Macro Overview
The Conditional Assembly Language
- Evaluation, Substitution, and Selection
Variable Symbols
- Declaring Variable Symbols
- Substitution
- Comments on Substitution, Evaluation, and Re-scanning
Assigning Values to Variable Symbols
- Evaluating Conditional-Assembly Expressions
- Evaluating and Assigning Arithmetic Expressions
- Internal Arithmetic Functions
- SETA statements vs EQU Statements
- Evaluating and Assigning Boolean Expressions
- Evaluating and Assigning Character Expressions
- String Concatenation
- Substrings
- String Lengths
- Internal Character Functions
- External Conditional-Assembly Functions
- Conditional Expressions with Mixed Operand Types
Displaying Variable Symbol Values
Statement Selection
- Sequence Symbols
- The ANOP Statement
- The AGO Statement
- The Extended AGO Statement
- The AIF Statement
- The Extended AIF Statement
- Logical Operators in SETx and AIF Statements
Examples of Conditional Assembly
- Example 1: Generate a Sequence of Byte Values
- Example 2: Generating System-Dependent I/O Statements
Conditional Assembly Language Eccentricities
Basic Macro Facility Concepts
- What is a Macro Facility
- Benefits of Macro Facilities
The Macro Concept: Fundamental Mechanisms
- Text Insertion
- Text Parameterization and Argument Association
- Text Selection
- Macro Call Nesting
- Macro Definition Nesting
The Assembler Language Macro Definition
- Macro Instruction Definition Example
- Macro Instruction Recognition Rules
- Macro Instruction REcognition Details
- Macro Definition Encoding
- Nested Macro Definition in High Level Assembler
- Macro Expansion, Generated Statements, MEXIT
Macro Comments and Readability Aids
- Example 1: Define Equated Symbols for Registers
Macro Parameters and Arguments
- Macro Definition Parameters
- Macro Instruction Arguments
- Macro Parameter-Argument Association
- Example 2: Generate a Sequence of Byte Values
- Macro Parameter Usage in Model Statements
Macro Argument Attributes and Structures
- Macro Instruction Argument Properties: Type Attribute
- Macro Instruction Argument Properties: Count Attribute
- Macro Instruction Argument Properties: Number Attribute
- Macro Instruction Argument Lists and Sublists
- Macro Instruction Argument Lists and &SYSLIST Variable
Symbol
Global Variable Symbols
- Variable Symbol Scope Rules: Summary
Macro Debugging Techniques
- Macro Debugging: The MNOTE statement
- Macro Debugging: The MHELP statement
- Macro Debugging: The ACTR statement
- Macro Debugging: The LIBMAC option
- Macro Debugging: The PRINT MCALL statement
IBM Macro Libraries
Dag twee
Macro Techniques
- Macro Techniques Case Studies
Case Study 1: Defining Equated Symbols for Registers
Case Study 2: Generating a Sequence of Byte Values
Case Study 3: 'MVC2' Macro Uses Source Operand Length
Case Study 4: Conversion Between Hex and Decimal
- Macro-time Conversion from Hex to Decimal
- Macro-time Conversion from Decimal to Hex
Case Study 5: Generate a List of Named Integer Constants
Case Study 6: Using the AREAD Statement
- Case Study 6a: Creating Length-Prefixed Message Texts
- Simple Prefixed Message Text
- More General Prefixed Message Text
- Prefixed Message Text with the AREAD Statement
- Case Study 6b: Block Comments
Case Study 7: Macro Recursion
- Recursion Example 1: Indirect Addressing
- Recursion Example 2: Factorial Function Values
- Recursion Example 3: Fibonacci Numbers
Case Study 8: Defining Macros for Bit-Handling Operations
- Basic Bit-Handling Techniques
- Case Study 8a: Bit-Handling Macros - Simple Forms
- Simple Bit-Manipulation Macros
- Simple Bit-Manipulation Macros: Setting Bits ON
- Simple Bit-Manipulation Macros: Setting Bits OFF
- Simple Bit-Testing Macros
- Case Study 8b: Bit-Handling Macros - Advanced Forms
- Bit-Handling 'Micro Language' and 'Micro Compiler'
- Declaring Bit Names
- Improved Bit-Manipulation Macros
- Using Declared Bit Names in a BITON Macro
- Using Declared Bit Names in a BBITON Macro
Case Study 9: Defining and Using Data Types
- Case Study 9a: Type Sensitivity - Simple Polymorphism
- Shortcomings of Assembler-Assigned Types
- Symbol Attributes and Lookahead Mode
- Case Study 9b: Type Checking
- Instruction-Operand Type Checking
- Instruction-Operand Type Checking (Generalized)
- The AINSERT Statement
- User-Defined Assembler Type Attributes
- Instruction-Operand-Register Type Checking
- Case Study 9c: Encapsulated Abstract Data Types
- Calculating with Date Variables
- Calculating with Interval Variables
- Comparison Operators for Dates and Intervals
Case Study 10: Front-Ending a Macro
External Conditional Assembly Functions
- SETAF External Function Interface
- Arithmetic-Valued Function Example: LOG2
- SETCF External Function Interface
- String-Valued Function Example: REVERSE
- Installing the LOG2 and REVERSE Functions
Opmerkingen? Vragen? Meer informatie? Klik het onderwerp van uw
keuze aan,
of e-mail ons met uw vragen.
Naar de Cursus beschrijving
Naar de Cursus doelstellingen
Naar de Lijst van onderwerpen
Deze site is aangesloten bij WebRing.
Bekijkt u gerust de
lijst van mainframe-gerelateerde sites.
|
|
Dino's zijn niet dood. Ze zijn gezond en wel en leven in
computer-centra overal
om ons heen. Zij spreken in tongen en doen wonderbare magie met
computers.
Pas op voor de dino! En voor het geval u zit te wachten op het
definitieve
einde van deze dino's: onthoud dat dino's de wereld 155 miljoen
jaren hebben
geregeerd!
|
Dino's en andere anachronismen
[
Aanmelden
|
Ring Overzicht
| Willekeurig
|
<< Vorige
|
Volgende >>
]
|