Bob - it takes real courage to put an assembler program out to the list!
David

________________________________

From: The IBM z/VM Operating System on behalf of Bob Heerdink
Sent: Thu 8/28/2008 4:13 PM
To: [email protected]
Subject: Re: [IBMVM] What is z/CMS - have ZCMS, need test program



Thanks to John Franciscovich for the link.  I've IPL'd ZCMS and everythin=
g
I have runs perfectly, however I don't have anything THAT big. 

I do have a nice simple benchmark program somebody gave me back in the 80=
's
(?).  I hope it pastes in correctly here.


      TITLE ' BENCHMARK VARIOUS COMMANDS               '      =
         
LOO00010
********************************************************************  =
 
LOO00020
LOOPBEN  CSECT                                             *       *  =
 
LOO00030
         STM   14,12,12(13)         SAVE THE REGS          * S   L *  =
 
LOO00040
         LR    12,15                LOAD THE BASE REG      * T   I *  =
 
LOO00050
         USING LOOPBEN,12           TELL THE ASSEMBLER     * A   N *  =
 
LOO00060
         LA    14,SAVEAREA          GET THE SAVE AREA ADDR * N   K *  =
 
LOO00070
         B     SKIP                 BRANCH AROUND SAVE AREA* D   A *  =
 
LOO00080
SAVEAREA DC    18F'-1'              OUR SAVE AREA          * A   G *  =
 
LOO00090
SKIP     ST    13,4(,14)            STORE                  * R   E *  =
 
LOO00100
         LR    13,14                THE                    * D     *  =
 
LOO00110
         ST    13,8(,14)            BACK AND FORTH POINTERS*       *  =
 
LOO00120
********************************************************************  =
 
LOO00130
* THIS NEXT 12 LINES USED TO GET A PARAMETER FROM THE CONSOLE TO   =

*           
* CALCULATE THE NUMBER OF LOOPS DESIRED.  I TOOK IT OUT & CHANGED  =

*           
* IT TO USE A CONSTANT 50 MILLION TIMES.           =
               
*           
********************************************************************  =
 
LOO00130
*        START OF MAINLINE                =
                         =
    
LOO00150
*        LA    1,8(,1)              BUMP PAST POINTER       =
           
LOO00160
*        L     15,=V(CTOKEN)               =
                         =
   
LOO00170
*        BALR  14,15                  =
                         =
        
LOO00180
*        L     15,=V(CVTDB)               =
                         =
    
LOO00190
*        BALR  14,15                  =
                         =
        
LOO00200
*        BNZ   ERROR                  =
                         =
        
LOO00210
*                        =
                         =
                     
LOO00220
*        SLR   0,0            CLEAR REGISTER 0         =
                
LOO00230
*        M     0,MULTI        CALCULATE THE NUMBER OF LOOPS     =
       
LOO00240
********************************************************************  =
 
LOO00130
*                        =
                         =
                         =

   
         L     2,MULTI        LOAD THE NUMBER OF TIMES TO LOOP    =
     
LOO00250
LOOP     EQU   *                   =
                         =
           
LOO00260
*        LR    7,8            NOW DO THE INSTRUCTION       =
            
LOO00290
*        A     7,DUMMY        NOW DO THE INSTRUCTION       =
            
LOO0029
*        AP    DUMNO,DUMNO    NOW DO THE INSTRUCTION       =
            
LOO00290
*        MP    MCAND,DUMNO    NOW DO THE INSTRUCTION       =
            
LOO00290
*        MVC   THERE,HERE     NOW DO THE INSTRUCTION       =
            
LOO00290
         BAL   14,BALTEST     NOW DO THE INSTRUCTION       =
            
LOO00290
         BCT   2,LOOP         DO UNTIL R2 EQUAL ZEROES       =
          
LOO00270
         B     RETURN                  =
                         =
       
LOO00280
         SPACE 3                   =
                         =
           
LOO00310
BALTEST  BR    14                   =
                         =
          
LOO00360
********************************************************************  =
 
LOO00320
RETURN   L     13,4(,13)            RESTORE OLD SAVE AREA  *   E   *  =
 
LOO00330
         LM    14,12,12(13)         RESTORE THE REGISTERS  *   X   *  =
 
LOO00340
         SLR   15,15                ZERO RETURN CODE       *   I   *  =
 
LOO00350
         BR    14                   BRANCH BACK TO SYSTEM  *   T   *  =
 
LOO00360
*                        =
                         =
                     
LOO00370
ERROR    WRTERM 'ERROR IN PARMS PASSED TO LOOPBEN'        =
             
LOO00380
         L     13,4(,13)            RESTORE OLD SAVE AREA  *   E   *  =
 
LOO00390
         LM    14,12,12(13)         RESTORE THE REGISTERS  *   X   *  =
 
LOO00400
         LA    15,101               LOAD BUM RETURN CODE   *   I   *  =
 
LOO00410
         BR    14                   BRANCH BACK TO SYSTEM  *   T   *  =
 
LOO00420
*                        =
                         =
                     
LOO00430
MULTI    DC    F'50000000'            50 MILLION         =
              
LOO00450
DUMMY    DC    F'00000001'                =
                         =
    
LOO00450
DUMNO    DC    X'234C'                 =
                         =
       
LOO00450
MCAND    DC    X'00000C'                 =
                         =
     
LOO00450
HERE     DC    C'ABCDEFGHIJKLMNOPQRSTUVWXYZ'          =
                 
LOO00450
THERE    DC    C'--------------------------'          =
                 
LOO00450
*                        =
                         =
                     
LOO00430
         LTORG                    =
                         =
            
LOO00440
*                        =
                         =
                     
LOO00470
********************************************************************  =
 
LOO00480
         END   LOOPBEN                 =
                         =
       
LOO00490

So the question for you is, what can I add to this program to excercise 6=
4-
bit CMS?

TIA,
Bob



Reply via email to