Im on a  z/OS 1.7 system and exploring the use of IEFSSVTI.
No real assignemnent Yet, more of an educational exercise.

I have the following STATIC Table. 
*
*********************************************************************
***    Static SSVTI                                               ***
*********************************************************************
         LCLC  &CSECT               DECLARE LOCAL CSECT VARIABLE     
&CSECT   SETC  'SSI@IFVT'           INITIALIZE CSECT SYMBOL          
&CSECT   AMODE 31                   ADDRESSING MODE                  
&CSECT   RMODE ANY                  RESIDENCY MODE                   
&CSECT   CSECT                                                       
         DC  A(IFVTDESC)                                             
         JMODID ID=&CSECT                                                       
                
                                                                    
*                                                                      
         DS  0D                                                        
         DC  CL8'IEFSSVTI'                                             
*                                                                      
IFVTDESC EQU *                                                         
         IEFSSVTI TYPE=INITIAL,SSVTDATA=ROUTINE1,TABLEN=STABLEN        
         IEFSSVTI TYPE=ENTRY,NUMFCODES=1,FCODES=aa,FUNCNAME=routineA   
         IEFSSVTI TYPE=ENTRY,NUMFCODES=1,FCODES=bb,FUNCNAME=ROUTINEB   
         IEFSSVTI TYPE=ENTRY,NUMFCODES=1,FCODES=cc,FUNCNAME=ROUTINEC       
         IEFSSVTI TYPE=ENTRY,NUMFCODES=1,FCODES=dd,FUNCNAME=ROUTINED      
         IEFSSVTI TYPE=ENTRY,NUMFCODES=1,FCODES=ee,FUNCNAME=ROUTINEE   
         IEFSSVTI TYPE=FINAL                                           
         ORG   ,                                                                
          

                                                   

The actual values for FCODES is irrevelent and the routine names is irrevelent.
        
I Am trying to assemble a static SSVTI table as a loadable module.
.
I dont understand why the above code requires a Branch Instruction as well as a 
Base Register for TYPE=INITIAL ?
.
TYPE=INITIAL genertes  a branch instruction 
B     ROUTINE1_END 
and
ASMA307E No active USING for operand ROUTINE1_END
.
.

Ok 
When I specify either a
B        OPSYN J   *or*   COPY  IEABRC
.  
The TYPE=INITIAL Macro expands with
B     ROUTINE1_END 
SMA058E Invalid relative address - ROUTINE1_END .
.
.
If I insert a USING statement
USINGE &CSECT,15  ..... the code gets generated without error with a BRANCH 
instruction.
B     ROUTINE1_END
.
.
I dont understand why this Macro is generating a Branch instruction for a Table 
?
Is there away to avoid the Branch Instruction from Being generated ?  
.
Paul .. 

Reply via email to