Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Beispiel

&pagelevel(4)&pagelevel

Das nachfolgende Beispiel zeigt den strukturellen Aufbau eines Assembler-Hauptprogramms. Die Makroaufrufe zur strukturierten Programmierung mit ASSEMBH (z.B. @IF) werden von ASSEMBH-BC nicht unterstützt (siehe Handbuch „ASSEMBH“ [2]).
Das Beispielprogramm soll erreichen, dass auf alle Bänder, deren Archivnummern im Bereich zwischen ABC001 und ABC099 liegen, nur von der eigenen Benutzerkennung aus zugegriffen werden kann (USER-ACCESS=*OWNER-ONLY).

         ...
         @CYCLE
MODIFY   DS    0H
         ...
         @PASS EXTNAME=MARENPS,PAR=STMT  CALL MAREN PROGRAM INTERFACE 
         @CAS2 RETFLAG,COMP=CLI          CHECK RETURN FLAG
         @OF   RETFLAGA                  RETURN FLAG 'A' = OK
         MVC   ANWVSN,ARCHIVNR           SET VSN IN STATEMENT
         @IF   EQ                        SET NEXT FSEQ IN STATEMENT
         CLC   FSEQ,=C'*001'             SUPPRESSED VOLUME?
         @THEN
         MVC   ANWFSEQ,=C'0001'          IF YES - NEXT FSEQ = '0001'
         @ELSE
         PACK  DOWO,FSEQ                 OTHERWISE ADD 1 TO FSEQ
         AP    DOWO,=PL1'1'
         UNPK  ANWFSEQ,DOWO+5(3)
         OI    ANWFSEQ+3,X'F0'
         @BEND
         @OF   RETFLAGE                  RETFLAG 'E' = NO MORE ENTRIES
         ...
         @OFRE                           ERROR EXIT
         ...
         @BEND
         @BEND
         ...
DOWO     DS    D                         WORKAREA
STMT     DS    Y(STMTEND)                AREA FOR MAREN STATEMENT
         DC    CL2' '
         DC    C'//MOD-VOL-ATTR VOL=*INT(FROM='
ANWVSN   DC    CL6'ABC001'
         DC    C',FROM-FSEQ='
ANWFSEQ  DC    CL4'0001'
         DC    C',TO=ABC099),'
         DC    C'PROT=*PAR(USER-ACCESS='
         DC    C'*OWNER-ONLY)'
STMTEND  EQU   *-STMT
         ...
         MARENA MF=L,LAYOUT=V8           AREA FOR MAREN CATALOG ENTRY 
         ...