Dale,

Thanks very much, I made my changes (see att) and output is:

EP AT  80010000          <--- IN CASE I NEED TO TRACE   
 2066-004.IBM                                           

I couldn't find the HCPSSIBK, however. 

Derek  Ackerman
Capacity Planning etc.
(201) 759-0833
 


-----Original Message-----
From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED]
Behalf Of Dale R. Smith
Sent: Thursday, September 06, 2007 2:36 PM
To: IBMVM@LISTSERV.UARK.EDU
Subject: Re: sample STSI CMS assmembler program


Derek, here is some Assembler code that I was working on at one time to =

issue STSI for the basic machine configuration, (1.1.1).  I had plans to =

add code to set REXX variables for the extracted fields, but I didn't hav=
e 
time to complete it before I was "let go".  So I will leave that part to =

you!  :-)>  If you need help with setting REXX variables from Assembler, =
I 
can send you some sample code for that as well.

GETSTSI  TITLE '***  Entry Linkage  ***'
GETSTSI  AMODE ANY                 Set Addressing Mode
GETSTSI  RMODE ANY                 Set Residency  Mode
         SPACE 1
GETSTSI  CSECT ,                   In the Beginning...
         USING GETSTSI,R15         Get Temporary Addressability
         STM   R14,R12,12(R13)     Save Caller's Registers
         B     PASTID              Branch Around ID Area
         SPACE 1
         DC    CL9'GETSTSI'        Module Name
         DC    CL9'&SYSDATC'       Date Assembled
         DC    CL6'&SYSTIME'       Time Assembled
         DC    C'&SYSTEM_ID'       System ID
         SPACE 1
PASTID   DS    0H
         DROP  R15                 Drop Temporary Addressability
         LR    R12,R15             Load Our Base Register and
         USING GETSTSI,R12         Get Permanent Addressability
         ST    R13,SAVEAREA+4      Point Our S/A to Caller's  (HSA)
         LR    R15,R13             Save Address of Caller's S/A
         LA    R13,SAVEAREA        Point to Our Save/Area
         ST    R13,8(,R15)         Point Caller's S/A to Ours (LSA)
         TITLE '***  Code to Issue STSI ***'
         CMSSTOR OBTAIN,           Get a Work Area to Hold STSI Data   +
               BYTES=4096,                                             =
+
               BNDRY=PAGE,                                             =
+
               LOC=ANY
         LTR   R15,R15             Did We Get Storage OK ?
         BNZ   EXIT                No, Exit
         LR    R10,R1              Save Address of Storage
         ST    R10,SSIBKA          Save it in the Program Also
         LM    R0,R1,STSI111       Load Parms to Get STSI 1.1.1 Info
         STSI  0(R10)              Get Basic Machine Configuration
         USING SSIBK,R10           Access STSI DSECT
         ...                   *Insert your code here*
         DROP  R10                 Release STSI DSECT
         CMSSTOR RELEASE,          Release Work Area for STSI Data     +
               BYTES=4096,                                             =
+
               ADDR=(R10)
         TITLE '***  Exit Linkage  ***'
EXIT     DS    0H
         L     R13,4(,R13)         Point to Caller's S/A (HSA)
         L     R14,12(,R13)        Restore Caller's Register 14
         LM    R0,R12,20(R13)      Restore Caller's Registers
         BR    R14                 Return to Caller
         TITLE '***  Working Storage  ***'
SAVEAREA DC    18A(0)              Our Register Save Area
STSI111  DC    X'10000001',X'00000001' Get STSI111 Settings
SSIBKA   DS    A                   Address of STSI Storage Area
CC0      EQU   8                   CC=0 means Mask=8
CC1      EQU   4                   CC=1 means Mask=4
CC2      EQU   2                   CC=2 means Mask=2
CC3      EQU   1                   CC=3 means Mask=1
         EJECT
         COPY  HCPSSIBK            STSI Block
         EJECT
*---------------------------------------------------------------------*
*        REGEQU MACRO - CMS Register Equates                          *
*---------------------------------------------------------------------*
         REGEQU ,                  CMS Register Equate Macro
         SPACE 1
         END   GETSTSI             That's All Folks...

-- 
Dale R. Smith

"Answers are easy.  It's asking the right questions which is hard."
- Doctor Who

On Thu, 6 Sep 2007 07:18:30 -0700, Derek Ackerman 
<[EMAIL PROTECTED]> wrote:

>Does anyone have an example of obtaining basic systrm info  from CMS 
assembler? I have several back level VM systems so I can't use the new =

REXX API. I need output from FC=1 and SEL1 & 2 = 1. My concerns a=
re: does 
the instruction require 64 bit mode? Does the 4K data area have to be a =

REAL level 1 storage address? I didn't see that in the POPs manual.  =
 
> 
>Derek  Ackerman
>Capacity Planning etc.
>(201) 759-0833
GETSTSI  TITLE '***  ENTRY LINKAGE  ***'                                STS00010
GETSTSI  AMODE ANY                 SET ADDRESSING MODE                  STS00020
GETSTSI  RMODE ANY                 SET RESIDENCY  MODE                  STS00030
         SPACE 1                                                        STS00040
GETSTSI  CSECT ,                   IN THE BEGINNING...                  STS00050
         USING GETSTSI,R15         GET TEMPORARY ADDRESSABILITY         STS00060
         STM   R14,R12,12(R13)     SAVE CALLER'S REGISTERS              STS00070
         B     PASTID              BRANCH AROUND ID AREA                STS00080
         SPACE 1                                                        STS00090
         DC    CL9'GETSTSI'        MODULE NAME                          STS00100
         DC    CL9'&SYSDATC'       DATE ASSEMBLED                       STS00110
         DC    CL6'&SYSTIME'       TIME ASSEMBLED                       STS00120
         DC    C'&SYSTEM_ID'       SYSTEM ID                            STS00130
         SPACE 1                                                        STS00140
PASTID   DS    0H                                                       STS00150
         LR    R12,R15             LOAD OUR BASE REGISTER AND           STS00160
         DROP  R15                 DROP TEMPORARY ADDRESSABILITY        STS00170
         USING GETSTSI,R12         GET PERMANENT ADDRESSABILITY         STS00180
         ST    R15,BUFFER                                               STS00190
         UNPK  EPDATA,BUFFER(5)                                         STS00200
         TR    EPDATA,TABLE         IN CASE                             STS00210
         MVI   EPDATA+8,C' '        I MUST TRACE                        STS00220
         LINEWRT DATA=EPMSG         I NEED THE E.P.                     STS00230
         ST    R13,SAVEAREA+4      POINT OUR S/A TO CALLER'S  (HSA)     STS00240
         LR    R15,R13             SAVE ADDRESS OF CALLER'S S/A         STS00250
         LA    R13,SAVEAREA        POINT TO OUR SAVE/AREA               STS00260
         ST    R13,8(,R15)         POINT CALLER'S S/A TO OURS (LSA)     STS00270
         TITLE '***  CODE TO ISSUE STSI ***'                            STS00280
         CMSSTOR OBTAIN,BYTES=4096,BNDRY=PAGE,LOC=ANY                   STS00290
         LTR   R15,R15             DID WE GET STORAGE OK ?              STS00300
         BNZ   EXIT                NO, EXIT                             STS00310
         LR    R10,R1              SAVE ADDRESS OF STORAGE              STS00320
         ST    R10,SSIBKA          SAVE IT IN THE PROGRAM ALSO          STS00330
         LM    R0,R1,STSI111       LOAD PARMS TO GET STSI 1.1.1 INFO    STS00340
         STSI  0(R10)              GET BASIC MACHINE CONFIGURATION      STS00350
*        USING SSIBK,R10           ACCESS STSI DSECT                    STS00360
         MVC   LINE+1(4),48(R10)                                        STS00370
         MVI   LINE+5,C'-'                                              STS00380
         MVC   LINE+6(3),64(R10)                                        STS00390
         MVI   LINE+9,C'.'                                              STS00400
         MVC   LINE+10(4),32(R10)                                       STS00410
         LINEWRT DATA=LINE                                              STS00420
*                                                                       STS00430
*        DROP  R10                 RELEASE STSI DSECT                   STS00440
         CMSSTOR RELEASE,BYTES=4096,ADDR=(R10)                          STS00450
         TITLE '***  EXIT LINKAGE  ***'                                 STS00460
EXIT     DS    0H                                                       STS00470
         L     R13,4(,R13)         POINT TO CALLER'S S/A (HSA)          STS00480
         L     R14,12(,R13)        RESTORE CALLER'S REGISTER 14         STS00490
         LM    R0,R12,20(R13)      RESTORE CALLER'S REGISTERS           STS00500
         BR    R14                 RETURN TO CALLER                     STS00510
         TITLE '***  WORKING STORAGE  ***'                              STS00520
BUFFER   DC    F'0',X'0'                                                STS00530
EPDATA   EQU   EPMSG+7,9                                                STS00540
EPMSG    DC    C'EP AT                    <--- IN CASE I NEED TO TRACE' STS00550
TABLE    DC    240C' '                                                  STS00560
         DC    C'0123456789ABCDEF'                                      STS00570
LINE     DC    CL16' '                                                  STS00580
SAVEAREA DC    18A(0)              OUR REGISTER SAVE AREA               STS00590
STSI111  DC    X'10000001',X'00000001' GET STSI111 SETTINGS             STS00600
SSIBKA   DS    A                   ADDRESS OF STSI STORAGE AREA         STS00610
CC0      EQU   8                   CC=0 MEANS MASK=8                    STS00620
CC1      EQU   4                   CC=1 MEANS MASK=4                    STS00630
CC2      EQU   2                   CC=2 MEANS MASK=2                    STS00640
CC3      EQU   1                   CC=3 MEANS MASK=1                    STS00650
         EJECT                                                          STS00660
*        COPY  HCPSSIBK            STSI BLOCK (CAN'T FIND IT)           STS00670
         EJECT                                                          STS00680
*---------------------------------------------------------------------* STS00690
*        REGEQU MACRO - CMS REGISTER EQUATES                          * STS00700
*---------------------------------------------------------------------* STS00710
         REGEQU ,                  CMS REGISTER EQUATE MACRO            STS00720
         SPACE 1                                                        STS00730
         END   GETSTSI             THAT'S ALL FOLKS...                  STS00740

Reply via email to