Cpclock

Aus Si:Wiki von Siegrist SystemLösungen - Informatik und Rezepte
Version vom 19. Januar 2016, 02:12 Uhr von Sigi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

<syntaxhighlight lang="asm">

CPCLOCK CSECT RESIDENT

  • *
  • COPYRIGHT (C) SIEMENS AG 1988 *
  • COPYRIGHT (C) SIEMENS NIXDORF INFORMATIONSSYSTEME AG 1990 *
  • ALL RIGHTS RESERVED *
  • *
  • BEI ANSPRUNG VON CPKMASK MUSS R8 HOECHSTWERTIGES BYTE MIT X'FF'
  • VERSOGT SEIN.
    • V2.0A03
  • DIREKTER ANSPRUNG CPKMASK WEGEN UEBERSCHREIBER SAVEREGISTER
  • (KOORDINATION STXIT - CONTINGENCY)
  • >>>>>>>> ACHTUNG !! ACHTUNG !!!! <<<<<<<<<<<<<<<<<<<<<<<<<<<<
  • >>>>> ABSOLUTE ADRESSBERECHNUNG !! ZWISCHEN 'CLKBAS <-> CLKRET'
  • >>>>>>>> ACHTUNG !! ACHTUNG !!!! <<<<<<<<<<<<<<<<<<<<<<<<<<<<
    • V2.0A02
  • TIMER STXIT FUER AUTOMATISCHEN LOCK. WIRD JEDE MINUTE (UNGENAUIG-
  • KEIT) ANGESPRUNGEN.
    • V2.0A00
        PRINT NOGEN,BASE
  • ----------------------------------------------------------------------*
        • INIT REGISTERS ****
  • ----------------------------------------------------------------------*
        SPACE

R0 EQU 0 R1 EQU 1 R2 EQU 2 R3 EQU 3 R4 EQU 4 R5 EQU 5 R6 EQU 6 R7 EQU 7 R8 EQU 8 R9 EQU 9 R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15

  • ---------------------------------------------------------------------*
        GPARMOD 31

CPCLOCK AMODE ANY CPCLOCK RMODE ANY

    1. BAL OPSYN ##BAS
    2. BALR OPSYN ##BASR
  • ---------------------------------------------------------------------*
        USING *,R15
        USING USEREIN,R4
        USING STATEIN,R3
        USING CLKBAS,R2

CLKBAS BASR R2,0

        BCTR  R2,R0
        BCTR  R2,R0
        DROP  15
        B     BEGCLK
        EXTRN STATANFA
        EXTRN STATENDA
        EXTRN TERMOUTA
        EXTRN LOCKTIM
        EXTRN Z3
        EXTRN Z4
        EXTRN Z5
        ENTRY CLKBAS
  • ----------------------------------------------------------------------*
      • S T X I T - ROUTIENE ***
  • ----------------------------------------------------------------------*

BEGCLK EQU *

        L     R13,=A(STATANFA)
        L     R14,=A(STATENDA)
        L     R3,0(R13)
        L     R4,0(R14)
        STCK  XCLOCK
        L     R10,XCLOCK
        L     R14,=A(LOCKTIM)
        SL    R10,0(R14)          BINAER LOCKTIM

CLKLOOP EQU *

        LA    R3,X'100'(R3)
        CLI   STATPNA,X'00'
        BE    CLKNIL
        L     R11,STATCLK
        SLR   R11,R10
        BL    CLKLOCK          LOCK DURCHFUEHREN

CLKNIL EQU *

        CR    R3,R4
        BNL   CLKEND
        B     CLKLOOP

CLKEND EQU *

        EXIT
  • ----------------------------------------------------------------------*

CLKLOCK EQU *

        CLI   STAPWSAV,X'40'
        BNH   CLKLOOP       KEIN PASSWORT
        CLI   STATPW,X'40'
        BH    CLKLOOP       IN STATE LOCK
        L     R14,=A(Z5)
        MVI   0(R14),X'00'      DUNKEL
        L     R14,=A(Z3)
        MVI   0(R14),X'00'      KEIN CMD
        L     R14,=A(Z4)
        MVI   0(R14),X'00'      KEINE KMASK
        MVC   STATPW(8),STAPWSAV
        STM   R1,R12,CLKRSAV
        CONTXT STACKR=(R8,R9,R10,R11,R12),OWNR=(R8,R9,R10,R11,R12)
        L     R15,=A(TERMOUTA)
        L     R15,0(R15)
        L     R13,=V(CPKMASK)
        L     R8,XFF              FUER CPKMASK
        BASR  R7,R13

CLKRET BASR R2,R0 BASISREG NEU LADEN

  • LA R1,180 X'B4' ADRESSPEGEL 'CLKRET'
        LA    R1,CLKRET-CLKBAS  ADRESSPEGEL 'CLKRET'
        SR    R2,R1       SUBTRACT DISTANCE FROM CLKBAS TO CLKRET
        BCTR  R2,R0
        BCTR  R2,R0
        LM    R1,R12,CLKRSAV
        LTR   R15,R15   <> 0       FEHLER GES. IN MODUL CPKMASK??
        BZ    CLKMEND
        BAS   R13,CLFEHLER

CLKMEND EQU *

        B     CLKNIL
  • ----------------------------------------------------------------------*
        DS    F

CLFEHLER EQU *

        ST    R13,CLFEHLER-4
        ST    R15,CRR15
        UNPK  CRRR15,CRR15(5)
        TR    CRRR15,CX-240
        WROUT CRRMSG,CTERME

CTERME L R13,CLFEHLER-4

        BR    R13
  • ----------------------------------------------------------------------*

CRRMSG DC Y(CRRMSGE-CRRMSG)

        DC    C'   %  ZCP0006 CP-ERROR AT:'

CRRTEXT DC CL20'CLK/STX/KMASK'

        DC    C'  RC:'

CRRR15 DS L9 CRR15 DS F CRRMSGE EQU *-1

        ORG
        DS    CL200
        DS    0F

CX DC C'0123456789ABCDEF'

  • ----------------------------------------------------------------------*
        DS    0F

CLKRSAV DS 12F XCLOCK DS D

        DS    0F

XFF DC X'FF000000'

  • ---------------------------------------------------------------------*
      • D S E C T S ***
  • ---------------------------------------------------------------------*
  • ---- ZENTRALE TABELLEN ------------------------------------------*
        STATEIN
        EJECT
        USEREIN
  • ---------------------------------------------------------------------*
        END