Взятие параметра из JSL в HLASM - Assembler

Узнай цену своей работы

Формулировка задачи:

Уважаемые программисты, только начал заниматься HLASM в системе z/OS, дали задание записать в набор данных надпись из другого набора, сделал тупо через цикл, счетчик задал принудительно, теперь надо модернизировать, я передаю наборы данных через jsl, там же идет параметр, подскажите, как быть, если кто знает?
         OPEN (INF,(INPUT))                     
         OPEN (OUTF,(OUTPUT))                   
********************************************    
             XR R6,R6                               
             LA R6,10                               
             GET INF,OUTAREA                        
LOOP      PUT OUTF,OUTAREA                       
             BCT R6,LOOP                            
CLOSE    CLOSE (INF)                            
             CLOSE (OUTF)
в 6 регистр записываю 10 и с помощью операции bct постепенно уменьшаю его JSL выглядит так: //RUNJOB JOB EMC,KD //ASM EXEC PGM=LOAD,

PARM='3'

//IN DD DISP=SHR,DSN=DEV.INDATA(IN) //OUT DD DISP=SHR,DSN=DEV.OUTDATA(OUT) //STEPLIB DD DISP=SHR,DSN=DEV.LOADLIB //SYSPRINT DD SYSOUT=* подскажите, что делать? какую операцию использовать?
Узнал, что параметр хранится в первом регистре, вопрос, в каком виде, что именно лежит внутри него, в этих 4 байтах памяти???

Решение задачи: «Взятие параметра из JSL в HLASM»

textual
Листинг программы
ASM      CSECT                                    
         PRINT NOGEN                              
         YREGS ,                                  
         USING ASM,R12                            
         STM R14,R12,12(R13)                      
         LR R12,R15                               
         LA R7,SAVE                               
         ST R13,4(R7)                             
         ST R7,8(R13)                             
         LR R13,R7                                
                                                  
******************************************        
OPEN     OPEN (INF,(INPUT))                       
         OPEN (OUTF,(OUTPUT))                     
********************************************      
*        GET INF,OUTAREA                          
         L R2,0(,R1)                              
         MVC PARMLIST(0),2(R2)                    
         PACK PARM,PARMLIST   
LOOP     SP PARM,ONE                               
*        PUT OUTF,OUTAREA                          
         WTO 'ERTRYEYET'                           
         CP PARM,ZERO                              
         BH LOOP                                   
CLOSE    CLOSE (INF)                               
         CLOSE (OUTF)                              
********************************************       
         L R13,4(R13)                              
         LM R14,R12,12(R13)                        
         LA R15,0                                  
         BR R14                                    
INF      DCB DDNAME=IN,DSORG=PS,MACRF=GM,RECFM=FB  
OUTF     DCB DDNAME=OUT,DSORG=PS,MACRF=PM,RECFM=FB 
ZERO     DC P'0'                                   
PARM     DC P'0'                                   
ONE      DC P'1'                                   
PARMLIST DC Z'0'            
SAVE     DS 18F       
OUTAREA  DC CL80' '   
                      
                      
         LTORG        
         END ASM

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5