Cpkmask

Aus Si:Wiki von Siegrist SystemLösungen - Informatik und Rezepte
Version vom 18. Januar 2016, 21:20 Uhr von Sigi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: «<source lang="asm"> ************************************************************************ *…»)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
************************************************************************
*                                                                      *
*     COPYRIGHT (C) SIEMENS AG  1988                                   *
*     COPYRIGHT (C) SIEMENS NIXDORF INFORMATIONSSYSTEME AG  1991       *
*     ALL RIGHTS RESERVED                                              *
*                                                                      *
************************************************************************
CPKMASK  CSECT RESIDENT
* NEUE MASKE 'LOGIN-MENU' WIRD BEI STATANM=X'FF' AUSGEGEBEN.
* ZUS. BASISREGISTER R9. ACHTUNG, DIE ERSTEN BEFEHLE M U E S S E N 
* R13 ZUR BASISADRESSIERUNG VERWENDEN BIS R9 GELADEN IST !!!!
** V3.0A00
* MASKE KORRIGIERT.
** V2.0A04
* BEI ANSPRUNG VON CPCLOCK DARF REG 7 + 8 NICHT GESAVET WERDEN.
** V2.0A03
* ACHTUNG ! KEIN CHECK AUF BUFFERENDE (CIRKA NACH 6900 BYTES)
* DA MELDUNG PARTNER TABEL FULL (ZCP0005) EHER AUFTRITT
*
* WENN Z4 GESETZT (FF) WERDEN AKTUELLE PAC'S AUSGEGEBEN
* WENN Z2 GESETZT (FF) WIRD KEIN TEXT ANGEHAENGT (NACH PAC'S VOR CMD)
* SONST WIRD TEXT Z2 (LEN.80) AUSGEGEBEN
* WENN Z3 GESETZT (FF) WIRD DER STRING "CMD:" AUSGEGEBEN
* WENN Z6 GESETZT (FF) WIRD PAC NACH TERMOUTA GESCHRIEB.
* 
* WENN Z5 = 00 WIRD EIN FELD NACH LINKS GESPRUNGEN
* (DUNKELGESTEUERT BEI PW EINGABE)
*
*
         PRINT NOGEN
*---------------------------------------------------------------------*
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
CPKMASK  AMODE ANY
CPKMASK  RMODE ANY
##BAL    OPSYN ##BAS
##BALR   OPSYN ##BASR
*---------------------------------------------------------------------*
*
* R7 RUECKSPRADRESSE:   BASR  R7,R13
*
         USING *,R13,R9
         CLM   R8,B'1000',=X'FF'    VON CPCLOCK ????
         BNE   BEGKM
** AUS CPCLOCK
         MVI   CLKMOD,X'FF'
         B     BEG
SAV7     DS    3F              REG 7 BIS REG9  (REG9 = BASIS)
BEGKM    STM   R7,R9,SAV7
         USING STATEIN,R3
         USING USEREIN,R4
*---------------------------------------------------------------------*
*        E X T R N ' S
*---------------------------------------------------------------------*
         EXTRN ERRTEXT
         EXTRN Z2
         EXTRN Z3
         EXTRN Z4
         EXTRN Z5
         EXTRN Z6
         EXTRN TEXT1
         EXTRN OUTPUT2
         EXTRN ERR15
         EXTRN TERMOUTA
         EXTRN OUTPUT1
         EXTRN CPVER
*---------------------------------------------------------------------*
BEG      EQU   *
         LA    R1,4095          |
         LA    R9,1(R13,R1)     |  BASISREGISTER LADEN
*
         XR    R8,R8
         MVI   STATK,X'10'
         MVC   STATAKTP,=H'0'
         L     R8,=A(Z4)
         USING Z4,R8
** AKT. PAC'S AUSGEBEN ??
         CLI   Z4,X'FF'
         BNE   F111
         L     R4,USERPAGA
         L     R5,USERPAGE
         MVC   0(6,R15),=X'27841ED81DC8'
*        MVC   0(6,R15),=X'27841DC81ED8'
         A     R15,=F'6'
         A     R14,=F'6'
         L     R8,=A(TEXT1)
         USING TEXT1,R8
         MVC   0(88,R15),TEXT1
         A     R15,=F'88'
         A     R14,=F'88'
LOOPK    EQU   *
         A     R4,=A(X'100')
         CLI   USPID+1,X'00'
         BE    GOTKN 
         L     R8,=A(OUTPUT2)
         USING OUTPUT2,R8
         MVC   OUTPUT2(80),=CL80' '
         MVC   OUTPUT2(4),USPAC
         MVC   OUTPUT2+5(8),USPNA  
         MVC   OUTPUT2+14(8),USCPNAME
         MVC   OUTPUT2+23(8),USPRO
         MVC   OUTPUT2+32(4),USTYP
         MVC   OUTPUT2+37(15),USERROR
         CLC   USRC,=F'0'
         BE    W130
         L     R8,=A(ERR15)
         USING ERR15,R8
         ST    15,ERR15
         UNPK  OUT15,USRC(5)
         TR    OUT15,HX-240
         L     R8,=A(OUTPUT2)
         USING OUTPUT2,R8
         MVC   OUTPUT2+53(8),OUT15
* WENN FREE BYTE GESTETZT IST WIRD DER EINTRAG GELOESCHT
W130     EQU   *
         MVC   OUTPUT2+61(2),=X'2798'
         MVC   0(63,R15),OUTPUT2
         A     R15,=F'63'
         A     R14,=F'63'
         CLI   USFREE,C'F'
         BNE   GOTKN
         CLI   USDEC,C'D'
         BNE   F0
         MVI   USFREE,C'D'
         MVC   USAID,=F'0'
         MVC   USCID,=F'0'
         MVI   USOKZ,X'00'
         MVC   USLEN,=F'0'
         MVC   USADR1,=F'0'
         MVC   USADR2,=F'0'
         MVC   USADR3,=F'0'
         MVC   USADR4,=F'0'
         MVC   USLOE1,USLOE1SA
         MVC   USRC,=F'0'
         MVC   USNEA,=XL8'3650350000000000'
         MVC   USERROR,=CL15'DECL SEQ:'
         MVC   USERROR+10(4),USSEQSA
         MVC   USSEQ,USSEQSA
         MVC   USKEY1,=C'0000'
         MVC   USLOE2,USLOE2SA
         XC    USLOE3(25),USLOE3
         MVC   USTEXTA,=F'0'
         MVC   USTEXTE,=F'0'
         MVC   USTERMS,=F'0'
         MVC   USIN,=F'0'
         MVC   USLEN,=F'0'
         MVC   USRES,=F'0'
         MVC   USCO,=F'0'
         MVC   USEI,=F'0'
         MVC   USRPBA,=F'0'
         MVC   USCCBA,=F'0'
         B     GOTKN
F0       XC    USCPNAME(250),USCPNAME
GOTKN    EQU   *
         CR    R4,R5
         BL    LOOPK
         L     R8,=A(Z4)
         USING Z4,R8
F111     MVI   Z4,X'FF'
** TEXT ANHAENGEN VOR CMD, NACH PAC'S ??
         L     R8,=A(Z2)
         USING Z2,R8
         CLI   Z2,X'FF'
         BE    F20         ** NEIN           
** Z2 ALS TEXT ANHAENGEN
         MVC   0(80,R15),Z2
         A     R15,=F'80'
         A     R14,=F'80'
         MVI   Z2,X'FF'
F20      EQU   *
** STRING CMD: AUSGEBEN ??
         L     R8,=A(Z3)
         USING Z3,R8
         CLI   Z3,X'FF'
         BNE   F21        ** NEIN
** STRING CMD: ANHAENGEN
         MVI   Z3,X'FF'
         MVC   0(4,R15),=CL4'CMD:'
         A     R15,=F'4'
         A     R14,=F'4'
F21      MVC   0(4,R15),=X'27841ED7'
         A     R15,=F'4'
         A     R14,=F'4'
** FELD FUER PASSWORTEINGABE MOD. ??
         L     R8,=A(Z5)
         USING Z5,R8
         CLI   Z5,X'FF'
         BE    P3         ** NEIN
**  PW-MENU  ODER  ANMELDUNG ??
         CLI   STATANM,STATANMP
         BE    CPKPWM     **  PW-MENU
**  ANMELDE-MENU !!
         L     R5,=A(OUTPUT1)
         MVC   CPNPTAST(27),0(R5)
         L     R5,=A(CPVER)
         MVC   CPNVER(6),1(R5)
         LA    R5,CPMENUN
         LH    R6,CPMENUNL
         MVI   Z5,X'FF'
         B     X6MENU
** JA ! PASSWORT-MENU
CPKPWM   EQU   *
         L     R5,=A(OUTPUT1)                 A(KONST) AUS MCP002
         MVC   CPMPTAST(27),0(R5)
         L     R5,=A(CPVER)               AUS MCP002
         MVC   CPMVER(6),1(R5)
         LA    R5,CPMENUT        NICHT FF  MENU MIT PASSWORT
         LH    R6,CPMENUL        LEN MENU
         MVI   Z5,X'FF'
         B     X6MENU
         MVC   0(2,R15),=X'27C7'
         A     R15,=F'2'
         A     R14,=F'2'
P3       MVI   Z5,X'FF'
         L     R8,=A(TERMOUTA)
         USING TERMOUTA,R8
         L     R5,TERMOUTA
         L     R8,=A(Z6)
         USING Z6,R8
         CLI   Z6,X'FF'
         BNE   X6
         MVC   112(4,R5),USPAC   SYSZ
         MVI   Z6,X'00'          * PAC RESET
X6       EQU   *
         L     R8,=A(TERMOUTA)
         USING TERMOUTA,R8
         L     R5,TERMOUTA
         LR    R6,R14
X6MENU   EQU   *
         DROP  R8
         LA    R2,STATEI
         L     R4,STAIDCP  
         L     R8,STATCID
         L     R14,STATRPBA
         YSEND RPB=(R14),CID=(R8),AREA=(R5),AREALN=(R6),AID=(R4),      -
               EID=(R2)
         CLM   R15,B'1001',=X'0000'
         BE    W28
         L     R8,=A(ERRTEXT)
         USING ERRTEXT,R8
         MVC   ERRTEXT(20),=CL20'S/KMASK/YSEND03'
         CLM   R15,B'1110',=X'10040C'
         BNE   X5
         SOLSIG EIID=(R2),COND=UNCOND,LIFETIM=10
         CLM   R15,B'0001',=X'00'
         BE    X6
         MVC   ERRTEXT(20),=CL20'S/KMASK/YSEND03/SOL'
X5       EQU   *   WENN R15 <> 0   DANN AUSGEBEN TEXT IN MCP002
**X5       BAS   R14,FEHLER
* NACH AUSGABE DER CP-MASKE --> BLEIBE IM LINE MODUS
*>>>  RUECKSPRUNG <<<<<<<<<<<
W28      EQU   *
         CLI   CLKMOD,X'FF'     AUS CPCLOCK ???
         BNE   W28CLK
         MVI   CLKMOD,X'00'     RESET
         BR    R7            NACH CPCLOCK
W28CLK   LM    R7,R9,SAV7    !! ACHTUNG, R9 IST BASISREGISTER !!
         BR    R7
*---------------------------------------------------------------------*
CLKMOD   DC    X'00'
HX       DC    C'0123456789ABCDEF'
         DS    0F
OUT15    DS    L9
         DS    CL20        SCHUTZ
         DS    0F
         LTORG              <<<<<<<<<<<<<<<<<
CPMENUT  DS    0F
         DC    X'10401B20614040455165005040004121'
*        DC    X'1B206148400000004040000000'    PAR00D   ANZ-ZEILE
*        DC    X'21'
CPMPTAST DS    XL27       BEREICH FUER PROG TASTEN UEBER V(KONST)
         DC    X'27822784'
         DC    X'1ED81D7C'     NP   HELL GESCHUETZT
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                    ___________         '
         DC    C'     _____________                      '
         DC    C'                   /           \        '
         DC    C'    |             \                     '
         DC    C'                  | |~~~~~~~~~| |       '
         DC    C'    | |~~~~~~~~~~| |                    '
         DC    C'                  | |          ~        '
         DC    C'    | |          | |                    '
         DC    C'                  | |                   '
         DC    C'    | |          | |                    '
         DC    C'                  | |                   '
         DC    C'    | |__________| |                    '
         DC    C'                  | |                   '
         DC    C'    |             /                     '
         DC    C'                  | |                   '
         DC    C'    | |~~~~~~~~~~~                      '
         DC    C'                  | |          _        '
         DC    C'    | |                                 '
         DC    C'                  | |_________| |       '
         DC    C'    | |                                 '
         DC    C'                   \           / onnecti'
         DC    C'on  | | rogramm                         '
         DC    C'                    ~~~~~~~~~~~         '
         DC    C'    ~~~                                 '
         DC    C'                                        '
         DC    C'                                        '
         DC    C'________________________________________'
         DC    C'________________________________________'
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                (c) by Siemens-Nixdorf-I'
         DC    C'nformationssysteme AG                   '
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                            All Rights R'
         DC    C'eserved                                 '
         DC    C'________________________________________'
         DC    C'________________________________________'
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                                        '
         DC    X'1ED81DC2'         HELL UNTERSTRICHEN
         DC    C'CP is in state LOCK. Please enter passwo'
         DC    C'rd '
         DC    X'1E7C1DC4'     NICHT GESCHUETZT
         DC    C'        '
         DC    X'1ED81D7C'     NP   HELL GESCHUETZT
         DC    C'               Version '
CPMVER   DC    CL6'X.XXXX'
         DC    C'                                        '
         DC    C'                                        '
         DC    X'27C7'      TBL
CPMENUTL EQU   *
CPMENUL  DC    Y(CPMENUTL-CPMENUT)
         DS    0F
CPMENUN  DS    0F
         DC    X'10401B20614040455165005040004121'
CPNPTAST DS    XL27       BEREICH FUER PROG TASTEN UEBER V(KONST)
         DC    X'27822784'
         DC    X'1ED81D7C'     NP   HELL GESCHUETZT
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                    ___________         '
         DC    C'     _____________                      '
         DC    C'                   /           \        '
         DC    C'    |             \                     '
         DC    C'                  | |~~~~~~~~~| |       '
         DC    C'    | |~~~~~~~~~~| |                    '
         DC    C'                  | |          ~        '
         DC    C'    | |          | |                    '
         DC    C'                  | |                   '
         DC    C'    | |__________| |                    '
         DC    C'                  | |                   '
         DC    C'    |             /                     '
         DC    C'                  | |                   '
         DC    C'    | |~~~~~~~~~~~                      '
         DC    C'                  | |          _        '
         DC    C'    | |                                 '
         DC    C'                  | |_________| |       '
         DC    C'    | |                                 '
         DC    C'                   \           / onnecti'
         DC    C'on  | | rogramm                         '
         DC    C'                    ~~~~~~~~~~~         '
         DC    C'    ~~~                                 '
         DC    C'________________________________________'
         DC    C'________________________________________'
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                       '
         DC    X'1ED81DC2'
         DC    C'L O G I N  -  P r'
         DC    C' o c e d e r e'
         DC    X'1ED81D7C'     NP   HELL GESCHUETZT
         DC    C'                          '
         DC    C'                                        '
         DC    C'                                        '
         DC    C'                       VT-Name     : '   
         DC    X'1E7C1DC4'       NICHT GESCHUETZT
CPNVTN   DC    C'        '
         DC    X'1ED81D7C'       NP   HELL  GESCHUETZT
         DC    C'                                   '
         DC    C'                       Password    : '    
         DC    X'1E7C1DC4'       NICHT GESCHUETZT
CPNPASS  DC    C'        '
         DC    X'1ED81D7C'       NP   HELL  GESCHUETZT
         DC    C'                                   '
         DC    C'                                        '
         DC    C'                                        '
         DC    C'________________________________________'
         DC    C'________________________________________'
         DC    C'                                        '
         DC    C'                                        '
         DC    C' Version '        
CPNVER   DC    CL6'X.XXXX'
         DC    C'   /   '
         DC    C'Copyright (C) Siemens Nixdorf '
         DC    C'Informationssysteme AG 1991 '             
         DC    C'                                        '
         DC    C'                                        '
         DC    X'27C727C7'  2 * TBL
CPMENUNE EQU   *
CPMENUNL DC    Y(CPMENUNE-CPMENUN)
         DS    0F
*
*---------------------------------------------------------------------*
*        D S E C T ' S
*---------------------------------------------------------------------*
         STATEIN
         EJECT
         USEREIN
         END