Trailing-Edge
-
PDP-10 Archives
-
BB-H580C-SB_1981
-
cbl12b.bwr
There is 1 other file named cbl12b.bwr in the archive. Click here to see a list.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B
July 1981
COPYRIGHT (C) 1981 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B Page 2
1. Loading COBOL-74 subroutines
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK erroneously generates the LNKCMC message whenever more than
one COBOL-74 module is loaded.
**********
[DIAGNOSIS]
A POPJ P, was left out by edit 1174, causing the LNKCMC message if
the load was in fact legal.
**********
[CURE]
Put the POPJ P, back in so that more than one COBOL-74 module can
be loaded again.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B Page 3
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1650 12-Nov-1979
File 2) DSKC:LNKHST.MAC[12,4700] created: 1248 08-Jan-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Nov-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 8-Jan-80
2)
**************
1)1 DECEVR==1226 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1227 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;1227 DZN 8-Jan-79
2) ; Allow multiple COBOL-74 modules to be loaded without rec
eiving an
2) ; erroneous LNKCMC message. Broken by edit 1174.
2) ; Routine: LNKLOD
2)
2)6 SUBTTL THE END
**************
COBOL.BWR -- Beware file for COBOL-68/74 version 12B Page 4
PCO Log Report
[FILCOM]
File 1) DSKC:LNKLOD.MAC[30,4507] created: 1710 12-Nov-1979
File 2) DSKC:LNKLOD.MAC[12,4700] created: 1244 08-Jan-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 12-Nov-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 8-Jan-79
2)
**************
1)1 DECEVR==1226 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1227 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1227 Allow multiple COBOL-74 modules to be loaded without LNK
CMC.
2)
**************
1)61
****
2)61 ;**;[1227] Insert before C74NAM+6L DZN 8-Jan-80
2) POPJ P, ;[1227] DONE
2)
**************
[End PCO Write-up]
COBOL.BWR -- Beware file for COBOL-68/74 version 12B Page 5
2. Differences between 12A and 12B
COBOL-74 has been changed to conform to the standard so that if a file
is opened for I/O the file must already exist. The file will no
longer be created. COBOL-68 will still create the file.
The default for WRITE without any advancing information is different
between COBOL-68 and COBOL-74. This is not a change, but the COBOL-74
documentation has been changed to correctly state that the default is
AFTER ADVANCING 1 LINE.
3. Extra carriage-return problem
To comply with Federal regulations for a FIPS certified compiler the
following "feature" had to be provided. In general, if a record was
written with WRITE AFTER ADVANCING and the next record was written
with WRITE BEFORE ADVANCING, then the first record must be overprinted
by the next record. In particular, if the last record in file-1 was
written with WRITE AFTER ADVANCING and the first record in file-2 was
written with WRITE BEFORE ADVANCING and file-2 was output to the same
device (e.g. a LPT:) immediately after file-1, then the last record
of file-1 must be overprinted by the first record of file-2. The FCTC
has a test which does just that.
Clearly we need an extra carriage-return between the two records. The
two choices were, put it at the front of the BEFORE ADVANCING file, or
at the end of the AFTER ADVANCING file. We chose the latter since we
believe it is the less common case (even though it is the default in
COBOL-74) and an extra carriage-return will do less harm at the end of
a file.
If, for some reason, you do not wish this "feature" then you can edit
CBLIO.MAC to remove it. At location NOXCR. replace the current
instruction by a JFCL. Note that we cannot support this change as it
violates the Federal standard.
4. COBOL-74 old REL files
At the REL file level (We doubt if anyone keeps COBOL REL files except
in a LINK library file), the only problem is with COBOL-74 and COBDDT.
The compiler output of Debug paragraph names was changed to be
identical with COBOL-68. This means that COBDDT V12B would display an
incorrect paragraph name for a COBOL-74 paragraph compiled with
COBOL-74 V12A. We do not think that this is a problem since people
tend to recompile before debugging, and working library files should
not need to be debugged again. In any case all that has to be done is
to recompile.
5. COBOL 12A and COBDDT 12B incompatibility
Except for the above-mentioned problem, all programs compiled with
version 12A of COBOL can be debugged with COBDDT 12B with no problems.
However, COBDDT 12B supports qualification of variables by specifying
the filename (e.g. "DISPLAY A IN FILE-1"). This is a feature of
COBDDT 12B which was not supported by COBDDT 12A, and compiler support
COBOL.BWR -- Beware file for COBOL-68/74 version 12B Page 6
needed to be implemented. Thus you cannot use this new feature of
COBDDT 12B until you recompile the program module using COBOL 12B.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B Page 7
6. BAC STOPCD:
PCO LOG REPORT
--------------
*********************
*PCO #:10-701 -023*
*********************
[PCO Write-up]
**********
[SYMPTOM]
Stopcd BAC.
**********
[DIAGNOSIS]
EQWAIT and EQFREE diddle with EVM. They should not. F
does not necessarily point to a DDB, and even if it does,
IOACT may still be on.
**********
[CURE]
Zero F.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B Page 8
PCO Log Report
[FILCOM]
THE FOLLOWING PATCH REPLACES ALL REFERENCES TO EQWAIT WITH UPEQ,
AND ALL REFERENCES TO EQFREE WITH DWNEQ. THERE IS ONE REFERENCE TO
EACH IN BOTH OF TWO ROUTINES (EQLOCK AND BLKHIM). THE UPEQ AND
DWNEQ ROUTINES SHOULD BE INSERTED AT AVESTP+2 1/2 (INSIDE THE
FTMP CONDITIONAL).
File 1) BLKK:QUESER.MAC[7,7022] created: 1008 27-May-1980
File 2) DSKC:QUESER.MAC[30,5602] created: 1525 05-Dec-1980
1)9 PUSHJ P,EQFREE## ;FREE EQ RESOURCE OVER HIBER CAL
L
1) >
****
2)9 PUSHJ P,DWNEQ ;FREE EQ RESOURCE OVER HIBER CAL
L
2) >
**************
1)9 PUSHJ P,EQWAIT## ;GET THE EQ RESOURCE BACK
1) >
****
2)9 PUSHJ P,UPEQ ;GET THE EQ RESOURCE BACK
2) >
**************
1)58 PUSHJ P,EQWAIT## ;WAIT FOR RESOURCE
1) POP P,QSKDT
****
2)58 PUSHJ P,UPEQ ;WAIT FOR RESOURCE
2) POP P,QSKDT
**************
1)58 PJRST EQFREE## ;FREE RESOURCE AND RETURN
1) ;SUBROUTINE TO CHECK TO SEE IF THE CURRENT JOB OWNS THE EQ
****
2)58 PJRST DWNEQ ;FREE RESOURCE AND RETURN
2) ;SUBROUTINE TO CHECK TO SEE IF THE CURRENT JOB OWNS THE EQ
**************
1)58 >
****
2)58 UPEQ: PUSH P,F ;SAVE F
2) SETZ F, ;DON'T TOUCH EVM
2) PUSHJ P,EQWAIT## ;GET THE EQ
2) JRST FPOPJ## ;AND RESTORE F
2) DWNEQ: PUSH P,F ;SAVE F
2) SETZ F, ;DON'T TOUCH EVM
2) PUSHJ P,EQFREE## ;GIVE UP THE EQ
2) JRST FPOPJ## ;AND RESTORE F
2) >
**************
[END OF PCO 10-701 -023]
[End of CBL12B.BWR]