Cursus assembler.
Cursussen geven wij soms klassikaal, maar meestal in uw eigen
bedrijf, middels
training on the job. Hierdoor kan de inhoud van de cursus optimaal
worden
afgestemd op enerzijds het reeds aanwezige kennis-niveau en
anderzijds op uw
specifieke omgeving. Bovendien kan het geleerde direct getoetst
en/of
toegepast worden in uw eigen praktijksituatie.
De te behandelen onderwerpen zijn ondergebracht in een zestal
categorieën, die hieronder nader worden uitgewerkt. Voor elke
cursus
kan worden geput uit deze standaard-lijst van onderwerpen.
Onderwerpen die
voor uw situatie van specifiek belang zijn kunnen worden toegevoegd.
- Introductie en algemene principes
- Assembler basis
- Assembler voor applicatie-programmeurs
- Assembler voor gevorderden
- Assembler - Macro Faciliteit
- Bixoft eXtended Assembler language
Welke selectie u ook maakt, naar ons idee behoren ten minste de
volgende
onderwerpen aan bod te komen:
- Architectuur van machine en operating system.
Organisatie van virtueel geheugen, address- en data-spaces,
addressing modes
en residency modes, calling mechanismen en de linkage stack.
- Instructieset.
Alle unprivileged instructies uit IBM's 'Principles of Operation'.
Dat wil zeggen:
- General Instructions.
- Decimal Instructions.
- Floating-Point Instructions.
- Relevante Control Instructions.
- De belangrijkste standaard-macro's uit:
- Assembler Services Reference.
- Macro Instructions for Data Sets.
- Coding technieken en gestructureerd programmeren.
Modularisatie, segmentering, CSECTS en DSECTS, subroutines,
geheugenbeheer,
in-line en out-of-line error handling, exceptions, abends.
- Reusability, reenterability, refreshability.
De verschillen tussen deze soorten programmatuur, en de toepassing
ervan. De
consequenties voor de wijze van programmeren.
- Assembler directieven.
Gebruik van CNOP voor alignment, DROP en USING voor addressability.
LTORG, DC
en DS voor het organiseren van werkgeheugen, variabelen, en
constanten. EQU
voor het benoemen van constanten en adressen.
- Gebruik van macro's en conditional assembly.
Conditional assembly in open code, optimalisaties, debugging met
SNAP-dumps.
Het toepassen van diverse macro's in samenhang met access methods.
- Ontwerp van macro's.
Het gebruik van macro's versus copy members. Wat leent zich voor
opname
in een macro. Interface overwegingen. Documentatie van macro's.
Sturing van
expansie middels parameters. Lijsten van parameters. Plaats van de
macro:
in de source of in een macro bibliotheek?
De stof voor dit cursusdeel in onderverdeeld in vier
hoofdstukken:
- Basiskennis computerkunde
- Architectuur van machine en operating system
- Belangrijkste control blocks
- Literatuur
- Basiskennis computerkunde
- Componenten: processor, geheugen, randapparatuur
- Instructie-verwerking
- Sequentieel
- Conditioneel
- Interrupts
- Ontvangst
- Return
- Status informatie
- Boolean logic
- Truth tables
- AND, OR, XOR, NOT
- Implicatie, equivalentie
- Multi-tasking
- Synchronisatie
- Serialisatie
- Semaphores
- Lock-out
- Deadlock
- Dispatching
- Multi-processing
- Tightly coupled (LPAR/MONOPLEX)
- Loosely coupled (SYSPLEX)
- Architectuur van machine en operating system
- Mainframe
- Processoren
- Main storage, expanded storage
- Devices
- Channels
- Coupling Facility
- Sysplex
- Historisch overzicht
- 360 en 370 - 24-bits
- 370/XA - 31-bits
- 390/ESA - ALETs
- Virtueel geheugen concepten
- Dynamic Address Translation
- Pages, frames, slots
- Segment tables, page tables
- Address-spaces, data-spaces, hiper-spaces
- Batch jobs, TSO-sessies, Started tasks
- Paging
- Page steal
- Least Recently Used
- Reference bit, change bit
- Organisatie
- PSA, SYS, PVT, LSQA
- SYS: CSA, LPA, SQA, Nucleus
- ESYS: Extended Nucleus, ESQA, ELPA, ECSA
- EPVT, ELSQA
- V=R versus V=V
- DAT-on versus DAT-off, TLB
- Primary mode versus andere modes, ALB
- Geheugen en addressering:
- Absolute
- Real en expanded
- Virtual
- Primary
- Secondary
- AR-specified
- Home
- Logical
- Effective
- Wrap-around
- Geheugen-bescherming
- Key-controlled protection
- Fetch protection
- Page protection
- Low-address protection
- Registers:
- Program Status Word
- DAT mode
- PSW key
- Problem state versus Supervisor state
- Address space control
- Condition code
- Program mask
- Addressing mode
- PER mode
- Prefix register
- interrupts en interrupt klassen
- Control registers
- Access registers
- General purpose registers
- Floating point registers
- Floating point status register
- Vector registers
- Vector status register
- Addressing mode, residency mode, cross memory mode
- Amode 24 versus 31, Amode any
- Rmode 24, any
- Cross memory mode
- Wijze van addresseren:
- Primary mode
- Secondary mode
- Access Register mode
- Home space mode
- Gebruik van registers
- Met alleen een base register
- Met base en index register
- Gebruik van R0
- Simple USING en DROP statements
- Units of work
- Address spaces, tasks, en subtasks
- Task mode versus SRB mode
- Asynchrone exits
- Swap-in, swap-out
- Dispatching
- Samenvatting modes:
- JOB/TSU/STC
- Task/SRB
- Non-reusable/reusable/reenterable/refreshable
- Rmode 24/ANY
- Amode 24/31/ANY
- ASC mode primary/secondary/home/AR
- SVC/Problem
- Process-must-complete mode
- Belangrijkste control blocks
- PSA
- CVT, SCVT, ASVT
- ASCB, ASSB, ASXB
- SRB
- TCB, STCB, JSCB, TIOT, JFCB
- RB (PRB, SVRB, IRB), CDE
- UCB
- Save area chain, Linkage stack
- Literatuur
- z/Architecture Principles of Operation
- z/OS V1R1.0 MVS Extended Addressability Guide
De stof voor dit cursusdeel in onderverdeeld in zeven
hoofdstukken:
- Assembler
- Architectuur van machine en operating system
- Instructieset
- De belangrijkste standaard-macro's
- Coding technieken en gestructureerd programmeren
- Assembler directieven
- Literatuur
- Assembler
- Module formats
- Source member
- Label field
- Opcode field
- Operands field
- Comment field
- Continuation
- Listing
- Option summary
- External symbol dictonary
- Assembly
- Title and using overview
- Location and object code
- Source code
- Macro level and name
- Relocation dictionary
- Cross reference
- Unreferenced symbols
- Macro source summary
- Macro cross reference
- DSECT cross reference
- Using map
- Register cross reference
- Summary
- Object member
- Load member
- Types of opcode
- Executable instructions
- Data instructions
- DS versus DC
- LTORG
- CSECTs versus DSECTs
- Assembler directives
- Conditional assembly
- Linkage editor
- Loader
- Architectuur van machine en operating system
- Registers
- GPRs en pairs of GPRs
- Addressering en R0
- Calling conventions
- Save areas en save area chaining
- Gebruik van R13 als save-area pointer
- Gebruik van R14 voor return adres
- Gebruik van R15 voor entry-point / returncode (n*4)
- Gebruik van R1 als parm-pointer / parmlist pointer / Reason
code
/ result value
- Lay-out van JCL-parm
- Lay-out van parmlist, end-of-plist marker
- Gebruik van R0 als extra parm / result value
- Calling mechanismen
- SVC + LPSW --> FLIH+SLIH
- BAL/BALR + BR --> verouderd
- BAS/BASR + BSM/BR --> Fast
- BASSM + BSM --> Glueing
- PC/BAKR + PR --> Stack
- Instructieset
- Data formats
- Zoned data format, Sign, ASCII/EBCDIC
- Binary data format
- Signed / unsigned
- Halfword / fullword / doubleword
- Address format: 24-bit, 31-bit, Amode bit, ALETs
- String formats
- Alignment
- Unprivileged instructies
- Arithmetic operations
- Add: A, AR, AH, AHI, AL, ALR
- Subtract: S, SR, SH, SL, SLR
- Multiply: M, MR, MH, MHI, MS, MSR
- Divide: D, DR
- Logical operations
- Compare: C, CR, CH, CHI, CL, CLR, CLI, CLC, CLM, CLCL,
CLCLE,
TM, TMH, TML, CLST, CUSE
- And: N, NR, NI, NC
- Or: O, OR, OI, OC
- Exclusive or: X, XR, XI, XC
- Moving data
- Register to register: LR, LTR, LCR, LNR, LPR
- Storage to register: L, LH, LHI, LM, IC, ICM
- Register to storage: ST, STH, STM, STC, STCM
- Storage to storage: MVC, MVI, MVCIN, MVCL, MVCLE
- Overig: LA
- Program flow control
- Branching: BC, BCR, BAL, BALR, BAS, BASR, BASSM, BSM, SVC +
BRAS, BRC
- Extended mnemonics: B, BE, BNE, BL, BNL, BH, BNH, BM, BNM,
BZ,
BNZ, BO, BNO, BP, BNP, BR, BER, BNER, BLR, BNLR, BHR, BNHR,
BMR, BNMR, BZR, BNZR, BOR, BNOR, BPR, BNPR
- De belangrijkste standaard-macro's
- Programma-beheer
- Standaard linkage: SAVE en RETURN
- Programma afbreken: ABEND
- Sub-programma statisch aanroepen: CALL
- Sub-programma dynamisch aanroepen: IDENTIFY en LINK/LINKX of
LOAD
en DELETE met BR/BASR/BASSM
- Programma overdracht: XCTL/XCTLX
- Tijd
- Bepalen tijdstip: TIME of CONVTOD, STCKCONV
- Verbruikte CPU-tijd in task-mode: TIMEUSED
- Overige services
- Aansturing code generatie: SPLEVEL, SYSSTATE
- Macro Instructions for QSAM move mode
- OPEN, CLOSE
- GET, PUT
- DCB, EODAD
- Record formats
- Fixed / Fixed Blocked
- Variable / Variable Blocked
- Coding technieken en gestructureerd programmeren
- Modularisatie, segmentering, CSECTs, subroutines, en location
counters
- Commentaar betreffende ontwerp
- Commentaar
- Blokken
- In de source-regel
- Lay-out
- Verwerpelijke coding technieken
- Ontbrekend of foutief commentaar
- Zinloos commentaar
- Self-modifying code:
- Wijzigen conditie van een branch-instructie
- Wijzigen target van een branch-instructie, S-con
- Wijzigen van een opcode
- Oneigenlijk gebruik van location counter:
- *-offset
- Idem voor label + of - offset
- 'Magical' numbers
- Te veel base registers
- Onlogische EQUates
- Assembler directieven
- Assembly control
- *PROCESS
- START
- END
- ICTL
- ISEQ
- COPY
- OPSYN
- EXITCTL
- Object control
- AMODE
- RMODE
- CATTR
- ALIAS
- ENTRY
- EXTRN
- PUNCH
- REPRO
- WXTRN
- Listing control
- TITLE
- SPACE
- EJECT
- CEJECT
- ASPACE
- AEJECT
- PRINT
- PUSH PRINT
- POP PRINT
- Generating data
- DC
- Duplication, alignment
- Type, Attribute
- Modifier
- Value
- DS
- EQU, EQU *, EQU *+..., EQU *-...
- LTORG
- CNOP
- Controlling addressability
- CSECT
- RSECT
- DSECT
- USING
- Ordinary
- Labeled
- Dependent
- Labeled dependent
- DROP
- PUSH USING
- POP USING
- ORG
- Literatuur
- High Level Assembler Programmer's Guide
- High Level Assembler Language Reference
- z/OS V1R1.0 MVS Assembler Services Guide
- z/OS V1R1.0 MVS Assembler Services Reference (2 delen)
- z/OS V1R1.0 DFSMS Using Data Sets
- z/OS V1R1.0 DFSMS Macro Instructions for Data Sets
- z/OS V1R1.0 DFSMS Program Management
- z/OS V1R1.0 MVS System Codes
- z/OS V1R1.0 MVS System Messages (10 delen)
De stof voor dit cursusdeel in onderverdeeld in acht hoofdstukken:
- Assembler
- Architectuur van machine en operating system
- Instructieset
- De belangrijkste standaard-macro's
- Coding technieken en gestructureerd programmeren
- Reusability
- Assembler directieven
- Literatuur
- Assembler
- Module formats
- Load module attributes: RF, RN, RU, NX, SC
- Assembler function
- Assembly parameters
- Run-time logic
- SYSABEND, SYSUDUMP, SYSMDUMP
- Tracing
- SNAP-dumps
- IPCS
- Other debugging tools: IDF, XDC, ???
- Architectuur van machine en operating system
- Calling conventions
- Linkage stack, F1SA-pointer
- Gebruik van R15 voor returncode (n*4)
- Gebruik van R1 als parmlist pointer
- Lay-out van parmlist, end-of-plist marker in access
register mode
- Calling mechanismen en de linkage stack:
- SVC/MC + LPSW --> FLIH+SLIH
- PC + PT/LPSW
- BAKR + PR --> Overhead
- Glue modules
- Static call middels Vcon
- Dynamic call middels LOAD en DELETE macro's
- Instructieset
- Data formats
- Packed decimal format, Sign
- Floating point format
- Short format (32-bit E/D)
- Long long format (64-bit D/W)
- Extended format (128-bit X)
- Unprivileged instructies
- Arithmetic operations
- Conversie: CVB, CVD, PACK, UNPK
- Logical operations
- Shifting: SLA, SLL, SLDA, SLDL, SRA, SRL, SRDA, SRDL
- Moving data
- Register to register: CPYA, EAR, SAR
- Storage to register: LAM
- Register to storage: STAM
- Storage to storage: MVPG (1), MVN, MVZ, MVO, TR, TRT, MVST
- Overig: LAE, SRST
- Program flow control
- Branching: MC
- Loop control: BCT, BCTR, BRCT, BXH, BRXH, BXLE, BRXLE
- Overig: EX
- alle instructies m.u.v. EX
- length field in: MVC, CLC, TR, TRT
- mask field in: TM, BC, BCR
- Overige general instructions
- Checksum: CKSM
- Sorteren: CFC, UPT
- Serialisatie: TS, CS, CDS, PLO
- Timing: STCK
- Program mask: IPM, SPM
- Decimal Instructions
- Arithmetic operations
- Add: AP, ZAP
- Subtract: SP
- Multiply: MP, SRP
- Divide: DP, SRP, afronding
- Logical operations
- Moving data
- Storage to storage: ED, EDMK
- Floating-Point Instructions
- Arithmetic operations
- Add: AE, AER, AD, ADR, AXR, AU, AUR, AW, AWR
- Subtract: SE, SER, SD, SDR, SXR, SU, SUR, SW, SWR
- Multiply: ME, MER, MD, MDR, MXD, MXDR, MXR
- Divide: DE, DER, DD, DDR, DXR, HER, HDR
- Square root: SQDR, SQER
- Logical operations
- Compare: CE, CER, CD, CDR
- Moving data
- Register to register: LER, LDR, LTER, LTDR, LCER, LCDR,
LNER, LNDR, LPER, LPDR, LRER, LRDR
- Storage to register: LE, LD
- Register to storage: STE, STD
- Control instructions
- Program flow control
- Branching: BAKR, PC, PR, PT
- Moving data
- Storage to register: EREG, ESTA
- Register to storage: MSTA
- Controlling the PSW
- Addressing mode: IAC, SAC, SACF
- Overige control instructions
- Storage: IVSK
- Testing addresses: TAR
- De belangrijkste standaard-macro's
- Programma-beheer advanced:
- Program interruption exits: SPIE en ESPIE
- Geheugen beheer
- Werkruimte: FREEMAIN en GETMAIN
- Werkruimte: STORAGE
- Structuren: CPOOL en subpools
- Communicatie:
- Bericht in de system log: WTL
- Overige services
- Debugging: SNAP/SNAPX, IEATDUMP
- Data-in-Virtual: DIV
- Macro Instructions for Data Sets
- OPEN, CLOSE
- READ, WRITE, GET, PUT, ERASE
- CHECK
- DCB, DCBD, DCBE
- ACB, RPL
- Record formats
- Fixed / Fixed Blocked
- Variable / Variable Blocked
- Spanned
- Undefined
- Access methods: BSAM, QSAM-locate, QSAM-move, QSAM-data,
BPAM,
BISAM, QISAM, BDAM, EXCP/EXCPVR, VSAM-ESDS, VSAM-KSDS, VSAM-RRDS,
VSAM-LDS, IMS, DB2
- CHKPOINT
- NOTE, POINT
- XLATE
- Coding technieken en gestructureerd programmeren
- Geheugenbeheer, paging
- In-line en out-of-line error handling
- Loops met BCT/BCTR
- Loops met BXLE/BXH
- Locality of reference en caching
- Exceptions en SPIE/ESPIE
- Abends en STAE/ESTAE
- Reusability
- Non-reusable programs
- Serially reusable programs
- Reenterable programs
- Refreshable programs
- De consequenties voor de wijze van programmeren
- Macro-varianten: MF=S, MF=L, MF=(E,addr), MF=(G,addr)
- Genereren van executable code "on the flight"
- Assembler directieven
- Output control
- Generating data
- Controlling addressability
- Literatuur
- z/OS V1R1.0 DFSMSdfp Advanced Services
- z/OS V1R1.0 DFSMSdfp Checkpoint/Restart
- z/OS V1R1.0 DFSMSdfp Storage Administration Reference
- MVS Programming: Batch Local Shared Resources
- Debug Tool User's Guide and Reference
- HLASM V1R4 Toolkit Feature Interactive Debug Facility User's
Guide
- HLASM V1R3 Toolkit Feature Interactive Debug Facility Reference
Summary
- Don Nielsen (DonN@cmscms.com): 'Redesigning Assembler Language
Development'
De stof voor dit cursusdeel in onderverdeeld in zeven hoofdstukken:
- Authorisatie
- Instructieset
- De belangrijkste standaard-macro's
- Coding technieken en gestructureerd programmeren
- Parallellisatie
- Introductie dump lezen
- Literatuur
- Authorisatie
- APF-authorisatie
- Link
- Bibliotheek
- Alleen op job-step niveau
- Supervisor state
- PSW key
- Instructieset
- Unprivileged instructies
- Moving data
- Storage to storage: MVPG (1)
- Control instructions
- Program flow control
- Moving data
- Register to register: EPAR, ESAR, SSAR
- Storage to register: LASP, LCTL, LURA
- Register to storage: STCTL, STURA
- Storage to storage: MVCP, MVCS, MVCK, MVCDK, MVCSK, MVPG
(2)
- Overig: LRA
- Controlling the PSW
- PSW-key: IPK, SPKA
- System mask: STNSM, STOSM
- Overig: LPSW, SSM
- Overige control instructions
- Storage: ISKE, IPTE, RRBE, SSKE
- DAT: PALB, PTLB
- Clock: SCK, SCKC, SPT, STCKC, STPT
- Prefix: SPX, STPX
- Testing addresses: TB, TPROT
- Tracing: TRACE
- Overig: Diagnose, SIGP, STAP, STIDP
- I/O instructions
- Vector instructions
- Custom instructions
- De belangrijkste standaard-macro's
- Programma-beheer
- Sub-programma dynamisch aanroepen: SYNCH/SYNCHX
- Programma-beheer advanced:
- Subtaak beheer: ATTACH/ATTACHX, DETACH, STATUS, CHAP
- Afvangen abends: STAE, ESTAE/ESTAEX, SETRP
- Linkage stack beheer: IEALSQRY, LSEXPAND
- Geheugen beheer
- Subpool types
- Cross memory: DSPSERV dataspace met ALESERV en TESTART
- Cross memory: DSPSERV hiperspace met HSPSERV
- Paging: PGSER of PGLOAD, PGOUT, en PGRLSE
- Serialisatie
- Resources: ENQ, DEQ, GQSCAN
- Synchronisatie: WAIT/POST en EVENTS
- Named tokens: IEANTCR, IEANTRT, IEANTDL
- Communicatie:
- Console info: CONVCON
- Bericht naar console: WTO, WTOR, DOM
- Tijd
- Timer interrupts: STIMER, STIMERM, CPUTIMER, TTIMER
- Overige services
- Resource Management: RESMGR
- Load module info: CSVAPF, CSVINFO, CSVQUERY, CSVRTLS
- Unieke identificatie van een taak: TCBTOKEN
- Parmlib members: IEFPRMLB
- Macro Instructions for Data Sets
- DYNALLOC
- Datasets
- Output descriptors
- Coding technieken en gestructureerd programmeren
- Abends, STAI, STAE, ESTAE/ESTAEX, FESTAE, FRR, Percolation
- Resource management
- Parallellisatie
- Lock-out, dead-lock
- Correctheidsbewijzen
- Serialisatie
- ENQ/DEQ
- Latches
- CS/CDS/PLO
- Local lock, CML lock, CPU lock
- Hiërarchie
- Synchronisatie
- Introductie dump lezen
- Symptom dump
- PSW en ILC
- Load module identification
- PSW data
- GPRs en ARs
- Lokaliseren van error instructie
- Bepaal loadmod offset
- Vind juiste CSECT en offset
- Lokaliseer error instructie
- SYSUDUMP / SYSABEND
- TCB c.a.
- Virtual storage map
- ENQ/DEQ CBs
- Data Management CBs
- IOS CBs
- RTM CBs
- Stacks en Save Areas
- Subsystem Area
- LSQA
- Subpools 229 en 230
- Registers
- Summary storage
- Modules
- User Subpools
- Trace Table
- Literatuur
- OS/390 V2R6.0 MVS Programming: Resource Recovery
- z/OS V1R1.0 MVS Authorized Assembler Services Guide
- z/OS V1R1.0 MVS Authorized Assembler Services Reference
(4 delen)
- z/OS V1R1.0 DFSMS Access Method Services for Catalogs
- z/OS V1R1.0 JES2 Macros
- z/OS V1R1.0 RACF Macros and Interfaces
- z/OS V1R1.0 RACROUTE Macro Reference
- z/OS V1R1.0 MVS Using the Functional Subsystem Interface
- z/OS V1R1.0 MVS Using the Subsystem Interface
- z/OS V1R1.0 MVS IPCS User's Guide
- z/OS V1R1.0 MVS IPCS Commands
- z/OS V1R1.0 MVS Dump Output Messages
- z/OS V1R1.0 JES2 Messages
- z/OS V1R1.0 RACF Messages and Codes
- z/OS V1R1.0 MVS Data Areas (5 delen)
- z/OS V1R1.0 JES2 Data Areas (3 delen)
- z/OS V1R1.0 RACF Data Areas
De stof voor dit cursusdeel in onderverdeeld in zes hoofdstukken:
- Assembler
- Assembler directieven
- Gebruik van macro's en conditional assembly
- Ontwerp van macro's
- OO-technieken in assembler
- Literatuur
- Assembler
- Assembler function
- Pre-assembly logic
- MNOTE, MHELP
- MCALL/NOMCALL
- Assembly logic
- Assembler directieven
- Macro definitions
- MACRO
- Prototype statement
- Positional parameters
- Keyword parameters
- MEND
- Comments
- MNOTE, severity levels
- AREAD
- AINSERT
- Pre-assembly variables
- LCLA, GBLA
- LCLB, GBLB
- LCLC, GBLC
- SETA
- Built-in functions: AND, OR, XOR, NOT, SLA, SLL, SRA, SRL
- SETAF
- SETB
- Built-in functions: NOT, AND, AND NOT, OR, OR, NOT
- Logical terms: EQ, NE, GT, GE, LT, LE
- SETC
- Built-in functions: DOUBLE, FIND, INDEX, LOWER, UPPER
- SETCF
- Substring notation
- Extended SET
- Arrays
- Created set symbols
- Pre-assembly control
- Labels, ANOP
- AIF
- AGO
- ACTR
- MHELP
- Systeem variabelen
- &SYSDATE, &SYSDATC, &SYSTIME
- &SYSECT, &SYSSTYP
- &SYSLIST
- &SYSNDX, &SYSNEST
- &SYSPARM
- Gebruik van macro's en conditional assembly
- Gebruik van macro's versus COPY
- DSECT-macro's
- CSECT-macro's
- Conditional assembly in open code
- Optimalisatie
- Vervangen van standaard macro's
- Vervangen van opcodes door macro's
- Ontwerp van macro's
- Wat leent zich voor opname in een macro
- Documentatie van macro's
- Pre-assembly logic
- Assembly logic
- Run-time logic
- Interface overwegingen
- Assembly interface
- Run-time interface
- Sturing van expansie middels parameters
- Plaats van de macro: in de source of in een bibliotheek?
- Vervanging van opcodes
- Vervanging van standaard macros
- OO-technieken in assembler
- Encapsulatie
- Ontwerp van een klasse
- Ontwerp van methoden
- Implementatie in macros
- Literatuur
- High Level Assembler Programmer's Guide
- High Level Assembler Language Reference
- John Ehrman (ehrman@vnet.ibm.com): 'Macros and Conditional
Assembly
Techniques, SHARE 94, Winter Conference 2000'
De stof voor dit cursusdeel in onderverdeeld in vier hoofdstukken:
- Extended mnemonics
- Assembler Directieven
- Macro's voor gestructureerd programmeren
- Mapping macro's
- Extended mnemonics
- Conditionele subroutine-aanroep
- BALC, BALE, BALH, BALL, BALM, BALO, BALP, BALZ
BALNE, BALNH, BALNL, BALNM, BALNO, BALNP, BALNZ
- BASC, BASE, BASH, BASL, BASM, BASO, BASP, BASZ
BASNE, BASNH, BASNL, BASNM, BASNO, BASNP, BASNZ
- Manipuleren van gegevens
- CLEAR
- CPY
- DEC, INC
- LC, LT, LTA24, LTC, LTH, LTHU, STA24
- MVPL
- SET, SETOF, SETON
- Execute instructies
- EXQ, EXCLC, EXMVC, EXTR, EXTRT, EXXC
- Extended type checking
- Overig
- Assembler Directieven
- Controles op variabelen
- CHKLIT, CHKMAP, CHKNUM, CHKREG
- DISSECT, SPLIT
- Definiëren van gegevens
- CMDTXT, TRTAB
- DCL, DC, DCOVR, DS, DSOVR, NESTCB
- EQU, EQUOVR, EQUREG
- EXTRN, EXTRNOVR
- LABEL
- LTORG, RDATA, RLTORG
- Addressering
- DROP
- POP, PUSH
- USE, USEDREGS, USING
- Overig
- EJECT, EJECTOVR, SPACE
- END
- GENMAPS
- OPSYSNS
- SYSPARM
- Macro's voor gestructureerd programmeren
- Programs and subroutines
- PGM, RETRN
- ABND, ABNDPGM
- BEGSR, ENDSR, EXSR
- Conditional expressions
- IF, ELSE, ENDIF
- CASE, ELSE, ENDCASE
- DO, LOOP, LEAVE, ENDDO
- GOTO
- IF$, IF$ALC, IF$Ls, IF$LU
- Diverse
- DBG, SNAPHDR, SNAPNTRY
- GLUE
- NTCR, NTRT, NTDL
- RWTO
- SETMODE
- Mapping macro's
- Toegekende veld typen - a, b, c, f, g, j, p, v, 0
- Gebruik van MAP-macro's in combinatie met GENMAPS
- Gebruik van MAP-macro's in combinatie met DCL
- Werken met gedeclareerde bits
- Werken met gedeclareerde waarden
- Werken met gedefinieerde registers
- Relatie met conditionele expressies
- Relatie met DC, DS, EXTRN macro's
- Functie van DCOVR, DSOVR, EXTRNOVR macro's
- MAPEQU, MAPBITS, MAPREGS
- MAPSAVE
- MAP control blocks
Opmerkingen? Vragen? Meer informatie? Klik het onderwerp van uw
keuze aan,
of e-mail ons met uw vragen.
Naar cursusdeel Introductie en algemene principes
Naar cursusdeel Assembler basis
Naar cursusdeel Assembler voor
applicatie-programmeurs
Naar cursusdeel Assembler voor gevorderden
Naar cursusdeel Assembler - Macro Faciliteit
Naar cursusdeel Bixoft eXtended Assembler language
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 >>
]
|