Re: Cobol compiler date

"Kevin Leonard" <kl_j76-/[email protected]>
Newsgroups gmane.comp.emulators.turnkey-mvs
Message-ID <[email protected]>

> > A side note, while I think of it:  I had a heck of a time
> > getting a version of IFOX00 that would run on MVT.  Any
> > modern version will at some point exhibit an error in
> > which the location counter goes nuts and is suddenly
> > incremented by a very large amount, such that everything
> > becomes unaddressable.  
> 
> Are you sure you didn't just use mismatched
> source when building IFOX?

I didn't build it from source.  The version I initially tried
to use was the version that's built by MVS 3.8 stage 2 sysgen,
from distribution libraries taken from the TK3 MVS 3.8J DLIB volume.

> Could you document this properly please? ie
> provide an example of valid source that
> fails to assemble (provide the JCL to) on MVT,
> but the exact same source works on MVS?

Unfortunately I didn't collect test cases; I was focused on
getting something that worked out the door.  So I've been poking
around in my MVT source, seeing what would fail.  One thing I
found fairly quickly that would fail is a TSO command to display
user information.  It assembles correctly with the VM assembler
code.  With the MVS 3.8J level, the CSECT length is reported as
zero, with lots of errors like:

  164  IFO209      ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVED AND ARE SET TO 0
  165  IFO209      ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVED AND ARE SET TO 0
   ...
  910  IFO209      ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVED AND ARE SET TO 0
 1033  IFO172      VALUE OF ORG OPERAND IS LESS THAN THE CONTROL SECTION STARTING ADDRESS

Another program that fails with the MVS 3.8J assembler under MVT
is the TAPEMAP program.  Pages and pages of:

   64  IFO209      ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVED AND ARE SET TO 0
   71  IFO209      ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVED AND ARE SET TO 0
   76  IFO209      ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVED AND ARE SET TO 0

I looked at the instructions that were failing.  In the WHO command:

000058 0000 0000      00000         164          AH    R0,=H'19'           ADJUST 0C
         *** ERROR ***
00005C 0000 0000      00000         165          MH    R0,=H'100'           FOR 20TH CENTURY BASE
         *** ERROR ***

A whole bunch of failures on lines that referred to literals.  As an
experiment, I changed all the literals to constants.  The result:

000058 4A00 A5FC      005FC         164          AH    R0,H19           ADJUST 0C
00005C 4C00 A5FE      005FE         165          MH    R0,H100           FOR 20TH CENTURY BASE

assembled without error.

As a further experiment, I tried assembling both programs (with
literals unmodified) using the IFOX00 assembler version that's
included in the MVS 3.7 starter system.  Again, the result assembled
without error.

Comparing the maintentance levels of the MVS 3.8J and 3.7 assemblers
using IDR CSECT history data, I found several PTFs integrated into
the TK3 assembler.  Looking through PTF source I came across a PTF:

++ PTF (UZ56206)        /*    5752-SC103-EAS1102-SCP                   
//UZ56206  JOB 5752-56206-0,SC103,MSGLEVEL=(1,1),CLASS=A     */  .     
++ VER (Z038) FMID (EAS1102)                                           
   SUP (AZ42243,AZ46156,AZ52752,AZ54553,AZ59051,                       
        UZ31800,UZ31801,UZ36815,UZ37628)                               
 /*                                                                    
   PROBLEM DESCRIPTION(S):                                             
     OZ59051 - BASE AND DISPLCEMENT CANNOT BE RESOLVED FOR LITERAL OR  
               OTHER UNPREDICTABLE ERRORS                              
   COMPONENT:  5752-SC103-EAS1102                                      
   APARS FIXED:  OZ59051                                               
++ MOD (IFNX4M) DISTLIB(AOS03) 
++ MOD (IFNX4T) DISTLIB(AOS03) 

not installed on the 3.7 assembler, superseded by UZ81148 on the
TK3 assembler.  That sounds promising.  Maybe I can build a version
of the assembler with all the PTFs up to UZ56206 and see if it works,
then add UZ56206 and see if that breaks it.

> With a bit of luck someone will see a challenge
> in finding what's causing something to work in
> MVS but not MVT.

Maybe, but IFOX00 is unpleasant code.  Someone got carried away
with private macros.  It looks like something written by a CICS
macro level assembler programmer.

-- 
Kevin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.