502 lines
18 KiB
Plaintext
502 lines
18 KiB
Plaintext
|
Microsoft MS-COBOL Compiler
|
|||
|
Release 1.12 Update Notice
|
|||
|
March 8, 1984
|
|||
|
|
|||
|
|
|||
|
The MS-COBOL compiler for the 8086/8088 micropro-
|
|||
|
cessor under MS-DOS release 1.12 contains several
|
|||
|
enhancements and corrections to previous releases.
|
|||
|
|
|||
|
*********************************************************
|
|||
|
** **
|
|||
|
** Important Notice **
|
|||
|
** **
|
|||
|
*********************************************************
|
|||
|
|
|||
|
|
|||
|
*1* All ISAM files (ORGANIZATION IS INDEXED), created
|
|||
|
or modified by versions of Cobol prior to 1.10
|
|||
|
<<MUST>> be run through version 1.21 of the
|
|||
|
REBUILD program prior to being used by version
|
|||
|
1.12 of Cobol. We strongly suggest REBUILDing and
|
|||
|
subsequently using only version 1.12 for ISAM file
|
|||
|
handling. See the corrections listed below.
|
|||
|
|
|||
|
*2* When converting to version 1.12 from previous ver-
|
|||
|
sions, ALL PROGRAMS MUST BE RECOMPILED. Programs
|
|||
|
compiled with previous versions, and linked with
|
|||
|
the version 1.12 libraries may not work properly.
|
|||
|
|
|||
|
|
|||
|
Enhancements
|
|||
|
|
|||
|
** The REBUILD utility now accepts valid MS-DOS 2.0
|
|||
|
path names for its files, and allows the creation
|
|||
|
of a key file from an indexed data file without
|
|||
|
duplicating the data file. REBUILD also allows
|
|||
|
its paramaters to be entered using the command
|
|||
|
line bypassing its normal interactive method. See
|
|||
|
the added information on REBUILD below.
|
|||
|
|
|||
|
NOTE: REBUILD must be used on ISAM files created
|
|||
|
by previous versions of Cobol due to possible
|
|||
|
errors in the key file structure.
|
|||
|
|
|||
|
** DOS 2.0 pathnames can now be used within Cobol
|
|||
|
programs. When the VALUE OF FILE-ID is a literal,
|
|||
|
the length is still limited to 16 characters. When
|
|||
|
VALUE OF FILE-ID is an identifier, the length of
|
|||
|
the specified filename, including path, may be up
|
|||
|
to 64 characters. Note that pathnames cannot be
|
|||
|
used with compiler itself for source, object and
|
|||
|
list filenames.
|
|||
|
|
|||
|
** A limitation which existed on the size of an item
|
|||
|
subordinate to an item sontaining an OCCURS clause
|
|||
|
(2048 byte maximum size) has been removed.
|
|||
|
|
|||
|
** The INSTALL terminal interface now supports color
|
|||
|
for the IBM and Compaq Personal Computers and the
|
|||
|
Texas Instruments Professional Computer. The
|
|||
|
reserved words FOREGROUND-COLOR and BACKGROUND-
|
|||
|
COLOR may be used to add color to SCREEN SECTION
|
|||
|
displays. They have no effect when used on
|
|||
|
machines for which color is not supported by
|
|||
|
INSTALL. See the color addendum at the end of
|
|||
|
this file.
|
|||
|
|
|||
|
** The DEC Rainbow computer has been added to the
|
|||
|
list of installable machines. See the DEC Rainbow
|
|||
|
addendum at the end of this file.
|
|||
|
|
|||
|
** Compiler switches /T and /C now allow drives A
|
|||
|
through Z to be specified. Previous limit was A
|
|||
|
through D.
|
|||
|
|
|||
|
Corrections
|
|||
|
|
|||
|
** When a numeric or alphanumeric editted field was
|
|||
|
entered in a screen, and if had an attribute, such
|
|||
|
as highlight or underline set, when it was
|
|||
|
redisplayed in it's editted form, the attribute
|
|||
|
would be lost.
|
|||
|
|
|||
|
** A bug was introduced in 1.10 such that if a number
|
|||
|
fo records were deleted from an ISAM file, occas-
|
|||
|
sionally a subsequent START would fail.
|
|||
|
|
|||
|
** When a Subprogram containing an overlay is
|
|||
|
invoked, after which another subprogram containing
|
|||
|
an overlay is invoked, the return will attempt to
|
|||
|
reload an overlay in the calling program, regard-
|
|||
|
less of whether or not there was one.
|
|||
|
|
|||
|
** When SORT was invoked, if memory needed to be
|
|||
|
reallocated, the program could crash.
|
|||
|
|
|||
|
** Corrected the detection of bad PICTUREs for
|
|||
|
numeric items.
|
|||
|
|
|||
|
** The handling of quoted literals, continued quoted
|
|||
|
literals and continued quoted literals which were
|
|||
|
continued at an embedded quote character has been
|
|||
|
corrected.
|
|||
|
|
|||
|
** A problem in the ISAM handler resulted when a cer-
|
|||
|
tain set of conditions were met when inserting a
|
|||
|
record. The key for the record would be inserted
|
|||
|
into the index improperly. In most cases this was
|
|||
|
transparent, but in some cases could result in the
|
|||
|
record being available only under sequential
|
|||
|
access, and not being found in random mode.
|
|||
|
|
|||
|
Version 1.10 of Cobol corrects this problem, how-
|
|||
|
ever ISAM files created or modified by previous
|
|||
|
versions of Cobol must be run through REBUILD
|
|||
|
prior to their use. These files may have an
|
|||
|
erroneous index structure that may render some
|
|||
|
records unfindable in random mode. Insure that the
|
|||
|
version of REBUILD used is 1.21 or greater, and
|
|||
|
the version of Cobol used thereafter is version
|
|||
|
1.10 or greater.
|
|||
|
|
|||
|
** A bug has been corrected in the ISAM file handler
|
|||
|
that would not mark a deleted record as being
|
|||
|
deleted in the data file if it was the only record
|
|||
|
in the file. REBUILD would then restore the record
|
|||
|
that had been deleted.
|
|||
|
|
|||
|
** The compiler now requires that ACCESS MODE be
|
|||
|
SEQUENTIAL when the file organization is sequen-
|
|||
|
tial.
|
|||
|
|
|||
|
** The compiler now requires that numeric items be no
|
|||
|
longer than 18 digits.
|
|||
|
|
|||
|
** The compiler will now trap attempts to write the
|
|||
|
object or the list file onto the source file, as
|
|||
|
well as onto each other.
|
|||
|
|
|||
|
** The message "No errors or warnings" is now sent to
|
|||
|
the list file.
|
|||
|
|
|||
|
** The compiler now traps attempts to use a VALUE
|
|||
|
clause when the when an OCCURS clause is also
|
|||
|
used.
|
|||
|
|
|||
|
** A bug has been corrected where at any time follow-
|
|||
|
ing a CALL to another program, if an I/O error
|
|||
|
occurred (such as opening a non-existent file for
|
|||
|
I-O), the program would occassionaly get lost and
|
|||
|
produce unexpected results.
|
|||
|
|
|||
|
** A bug has been corrected where a PERFORM in a
|
|||
|
CALLed subroutine would occasionally be errone-
|
|||
|
ously trapped with a "PERFORM OVERLAP".
|
|||
|
|
|||
|
** A bug has been corrected where if, in a statement
|
|||
|
generating a Numeric Edit, the source field has to
|
|||
|
be converted, such as from COMP-3, and an overflow
|
|||
|
occurs in the edit, then all further leading zero
|
|||
|
suppression in numeric editing is disabled until a
|
|||
|
similar operation occurs that does not generate
|
|||
|
such an overflow.
|
|||
|
|
|||
|
** A bug has been corrected which would not allow a
|
|||
|
value to be displayed PIC ??? FROM <literal> in a
|
|||
|
screen section.
|
|||
|
|
|||
|
** A bug has been corrected in the UNSTRING state-
|
|||
|
ment. If a POINTER is used, and is initially out
|
|||
|
of range, it is now handled properly.
|
|||
|
|
|||
|
** A bug has been corrected in which literals in the
|
|||
|
VALUE OF FILE-ID clause of exactly 17 characters
|
|||
|
were truncated to 16 characters without warning.
|
|||
|
Now any literals longer than 16 characters will
|
|||
|
produce an error message.
|
|||
|
|
|||
|
** A bug has been corrected which would not allow a
|
|||
|
group item to be given a VALUE of ZERO.
|
|||
|
|
|||
|
** A bug has been corrected that affected relative
|
|||
|
files with certain record lengths and cause them
|
|||
|
to return disk full status when a record was writ-
|
|||
|
ten at a 64k boundary in the file.
|
|||
|
|
|||
|
** A bug has been corrected that prevented sub-
|
|||
|
scripted variables from being passed to a called
|
|||
|
program correctly. This bug also occasionally
|
|||
|
affected program branches by sending them to
|
|||
|
erroneous targets, and then flagging a Run-Time
|
|||
|
error.
|
|||
|
|
|||
|
** Filenames CON and PRN now work properly with
|
|||
|
line-sequential files under MS-DOS and PC-DOS.
|
|||
|
Previously, the data could occassionally be
|
|||
|
displayed or printed in improper order.
|
|||
|
|
|||
|
** A compiler crash when a quoted literal was improp-
|
|||
|
erly continued in area A has been corrected.
|
|||
|
|
|||
|
** A program with a large number of CALLs (usually
|
|||
|
over 120), now no longer generates an invalid
|
|||
|
object module. The exact number of calls required
|
|||
|
to generate the invalid code was a function of the
|
|||
|
additional features, such as numeric edit,
|
|||
|
alphanumeric edit, ISAM, etc. that were required
|
|||
|
by the program.
|
|||
|
|
|||
|
** A bug has been corrected whereby the compiler
|
|||
|
would crash if a very large variable were
|
|||
|
declared. For example: A OCCURS 1023 PIC X(120).
|
|||
|
|
|||
|
** A bug has been corrected in which very large pro-
|
|||
|
grams, or programs with a large number of jump,
|
|||
|
branch and perform targets, would compile
|
|||
|
incorrectly.
|
|||
|
|
|||
|
** Line numbers in error messages pertaining to pro-
|
|||
|
cedure header lines are now printed correctly.
|
|||
|
|
|||
|
** COMP-0 variables now properly handle the value
|
|||
|
-32768.
|
|||
|
|
|||
|
** CTRL-BREAK is now checked at every procedure
|
|||
|
header under MS-DOS.
|
|||
|
|
|||
|
** A bug in the ACCEPT handler which lost screen out-
|
|||
|
put if an item was ACCEPTed whose length exceeded
|
|||
|
the amount of room left on the screen has been
|
|||
|
corrected.
|
|||
|
|
|||
|
** Certain improper REDEFINES constructs are now
|
|||
|
flaged as errors by the compiler.
|
|||
|
|
|||
|
** The INSTALL terminal interface utility has been
|
|||
|
corrected so that the "Define your own terminal"
|
|||
|
option now allows COBOL function keys to be
|
|||
|
defined.
|
|||
|
|
|||
|
** A bug has been fixed which disallowed multiple
|
|||
|
screen attributes (HIGHLIGHT, REVERSE-VIDEO,
|
|||
|
UNDERLINE, BLINK) in a single screen item.
|
|||
|
|
|||
|
** A bug has been corrected where if a file was
|
|||
|
defined, used in a SAME RECORD AREA clause, but
|
|||
|
never otherwise referenced, improper object code
|
|||
|
would be generated.
|
|||
|
|
|||
|
|
|||
|
Enhancements to REBUILD Version 1.21
|
|||
|
|
|||
|
REBUILD, the Indexed File Recovery Utility, has been
|
|||
|
enhanced in version 1.21 to allow a new Indexed key file to
|
|||
|
be created without producing a new Indexed data file. The
|
|||
|
resulting key and data file may be used in exactly the same
|
|||
|
way as any other Indexed file. REBUILD has also been given
|
|||
|
the ability to accept its input from a command line, making
|
|||
|
its use in batch files simpler.
|
|||
|
|
|||
|
Any previously existing Indexed key files to be used
|
|||
|
with programs running under MS-COBOL versions 1.10 and later
|
|||
|
must be rebuilt with REBUILD, version 1.21 or later. Version
|
|||
|
1.21 of REBUILD allows the key file to be recreated while
|
|||
|
still using the original data file. Indexed files processed
|
|||
|
with version 1.21 of REBUILD may be used with all MS-COBOL
|
|||
|
programs from version 1.0 and later.
|
|||
|
|
|||
|
See Appendix E - REBUILD: INDEXED FILE RECOVERY UTILITY
|
|||
|
in the Microsoft COBOL Compiler User's Guide for more detail
|
|||
|
on REBUILD. Note that this appendix does not currently con-
|
|||
|
tain information on these enhancements.
|
|||
|
|
|||
|
|
|||
|
INTERACTIVE MODE
|
|||
|
|
|||
|
To create only a new key file in interactive mode type
|
|||
|
REBUILD followed by <RETURN> in response to the operating
|
|||
|
system prompt. REBUILD will issue four prompts for informa-
|
|||
|
tion on the file to be rebuilt. The data required are key
|
|||
|
length, position of key in data record ,source file name and
|
|||
|
target file name. The key length, key position, and source
|
|||
|
file name prompts should be answered as in previous versions
|
|||
|
of REBUILD. (See Appendix E of the Microsoft COBOL Compiler
|
|||
|
User's Guide for examples).
|
|||
|
|
|||
|
The target file name prompt appears as:
|
|||
|
|
|||
|
Input the file name of the target data file
|
|||
|
(should not have the extension of .KEY)
|
|||
|
or <RETURN> to return to the Key Length prompt.
|
|||
|
|
|||
|
If the target file name is the same as
|
|||
|
the source file name, a key file with
|
|||
|
the source file name and extension ".KEY"
|
|||
|
will be produced without producing a
|
|||
|
new data file. ----->
|
|||
|
|
|||
|
|
|||
|
If the file name entered is the same as the source file
|
|||
|
name, a key file with the name <source file>.KEY will be
|
|||
|
created, but the source data file will be used unchanged.
|
|||
|
|
|||
|
Example 1. Interactive mode - creating key file only
|
|||
|
|
|||
|
Input Key Length: 52
|
|||
|
Input Key Position: 13
|
|||
|
Input Source File-name: IXFILE.DAT
|
|||
|
Input Target File-name: IXFILE.DAT
|
|||
|
|
|||
|
File IXFILE.KEY will be created, overwriting any
|
|||
|
existing IXFILE.KEY, and may be used with IXFILE.DAT in
|
|||
|
any MS-COBOL programs.
|
|||
|
|
|||
|
Example 2. Interactive mode - creating key and data
|
|||
|
files
|
|||
|
|
|||
|
Input Key Length: 52
|
|||
|
Input Key Position: 13
|
|||
|
Input Source File-name: IXFILE.DAT
|
|||
|
Input Target File-name: NEWIX.DAT
|
|||
|
|
|||
|
Files NEWIX.DAT and NEWIX.KEY will be created, and
|
|||
|
may be used in any MS-COBOL programs. IXFILE.KEY, if
|
|||
|
present, is unchanged.
|
|||
|
|
|||
|
|
|||
|
COMMAND LINE MODE
|
|||
|
|
|||
|
REBUILD may also be invoked with data contained in the
|
|||
|
command line. You may enter REBUILD <command line> followed
|
|||
|
by <RETURN>, where <command line> is of the form:
|
|||
|
|
|||
|
<source file name>,<target file name>,<key description>
|
|||
|
|
|||
|
|
|||
|
with no spaces allowed in the command line. <key descrip-
|
|||
|
tion> is of the form:
|
|||
|
|
|||
|
<key position>:<key length>
|
|||
|
|
|||
|
|
|||
|
Any command line argument entered after <source file
|
|||
|
name> may be defaulted by placing a semicolon (;) after the
|
|||
|
last argument desired. If <target file name> is defaulted,
|
|||
|
but <key description> is desired, type two commas between
|
|||
|
<source file name> and <key description>. (See example 3
|
|||
|
below). The defaults used are:
|
|||
|
|
|||
|
<target file> Default is <source file name>, causing a key
|
|||
|
file with the source file name and extension
|
|||
|
".KEY" to be created; no new data file will
|
|||
|
be created.
|
|||
|
|
|||
|
<key description>Default is 1:1
|
|||
|
|
|||
|
REBUILD will prompt for any information not provided on
|
|||
|
the command line.
|
|||
|
|
|||
|
Example 3. Command Line mode - creating key file only
|
|||
|
|
|||
|
(Same results as Example 1 above)
|
|||
|
|
|||
|
REBUILD IXFILE.DAT,,13:52
|
|||
|
|
|||
|
|
|||
|
File IXFILE.KEY will be created, overwriting any
|
|||
|
existing IXFILE.KEY, and may be used with IXFILE.DAT in
|
|||
|
any MS-COBOL programs.
|
|||
|
|
|||
|
Example 4. Command Line mode - creating key and data
|
|||
|
files
|
|||
|
|
|||
|
(Same results as Example 2 above)
|
|||
|
|
|||
|
REBUILD IXFILE.DAT,NEWIX.DAT,13:52
|
|||
|
|
|||
|
|
|||
|
Files NEWIX.DAT and NEWIX.KEY will be created, and
|
|||
|
may be used in any MS-COBOL programs. IXFILE.KEY, if
|
|||
|
present, is unchanged.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Color in the MS-COBOL SCREEN SECTION
|
|||
|
|
|||
|
For release 1.10 of MS-COBOL, the IBM PC and Compaq
|
|||
|
Personal Computers and the Texas Instruments Professional
|
|||
|
Computer are the only machines with color support.
|
|||
|
|
|||
|
The clauses: <FOREGROUND-COLOR integer> and
|
|||
|
<BACKGROUND-COLOR integer> may be included in the descrip-
|
|||
|
tion of an elementary screen item. (See the Microsoft COBOL
|
|||
|
Reference Manual, section 5.3.4, for a description of ele-
|
|||
|
mentary screen items).
|
|||
|
|
|||
|
The value of "integer" can range from 0 through 15, and
|
|||
|
is used to select the desired color. The actual colors used
|
|||
|
vary by machine. If black and white monitors are used, or
|
|||
|
color is not supported by INSTALL, use of FOREGROUND-COLOR
|
|||
|
and BACKGROUND-COLOR will either have no effect or cause
|
|||
|
screen displays to use different shades of gray.
|
|||
|
|
|||
|
If FOREGROUND-COLOR or BACKGROUND-COLOR is used in the
|
|||
|
same elementary screen item as the BLANK SCREEN clause, the
|
|||
|
colors chosen become the default colors for all following
|
|||
|
screen items that do not explicitly define colors. If the
|
|||
|
BLANK SCREEN clause is not present in an elementary screen
|
|||
|
item, colors chosen are in effect only for the current ele-
|
|||
|
mentary screen item, and later items will use the default
|
|||
|
colors, which are normally white on black. If REVERSE-VIDEO
|
|||
|
is used in an elementary screen item, the values of the
|
|||
|
foreground and background colors are switched.
|
|||
|
|
|||
|
Values of "integer" in FOREGROUND-COLOR and
|
|||
|
BACKGROUND-COLOR clauses:
|
|||
|
|
|||
|
|
|||
|
** IBM and Compaq Personal Computers **
|
|||
|
|
|||
|
FOREGROUND-COLOR BACKGROUND-COLOR
|
|||
|
Integer Color Integer Color
|
|||
|
|
|||
|
0 black 0 black
|
|||
|
1 blue 1 blue
|
|||
|
2 green 2 green
|
|||
|
3 cyan 3 cyan
|
|||
|
4 red 4 red
|
|||
|
5 magenta 5 magenta
|
|||
|
6 brown 6 brown
|
|||
|
7 white 7 white
|
|||
|
|
|||
|
8 gray 8 blinking black
|
|||
|
9 light blue 9 blinking blue
|
|||
|
10 light green 10 blinking green
|
|||
|
11 light cyan 11 blinking cyan
|
|||
|
12 light red 12 blinking red
|
|||
|
13 light magenta 13 blinking magenta
|
|||
|
14 yellow 14 blinking brown
|
|||
|
15 high intensity white 15 blinking white
|
|||
|
|
|||
|
|
|||
|
** Texas Instruments Professional Computer **
|
|||
|
|
|||
|
FOREGROUND-COLOR BACKGROUND-COLOR
|
|||
|
Integer Color Integer Color
|
|||
|
|
|||
|
0 black not supported (no effect if
|
|||
|
1 blue BACKGROUND-COLOR clause is used)
|
|||
|
2 green
|
|||
|
3 cyan
|
|||
|
4 red
|
|||
|
5 magenta
|
|||
|
6 brown
|
|||
|
7 white
|
|||
|
|
|||
|
(colors 8 - 15 are the same as 0 - 7)
|
|||
|
|
|||
|
|
|||
|
DEC Rainbow 100 Addendum
|
|||
|
INSTALL Information
|
|||
|
|
|||
|
EDITING KEYS
|
|||
|
|
|||
|
Delete Line CTRL-U,CTRL-X
|
|||
|
Delete Character DEL key
|
|||
|
Forward Space CTRL-F or right arrow key
|
|||
|
Back Space CTRL-H or left arrow key
|
|||
|
Plus Sign +
|
|||
|
Minus Sign -
|
|||
|
|
|||
|
TERMINATOR KEYS
|
|||
|
|
|||
|
Escape ESC (F11)
|
|||
|
Back Tab CTRL-B or up arrow key
|
|||
|
Tab CTRL-I or TAB or down arrow key
|
|||
|
Carriage Return CTRL-M or Return
|
|||
|
Line Feed CTRL-J or Line Feed (F13)
|
|||
|
|
|||
|
FUNCTION KEYS
|
|||
|
|
|||
|
Function 1 CTRL-E 1 or PF1
|
|||
|
Function 2 CTRL-E 2 or PF2
|
|||
|
Function 3 CTRL-E 3 or PF3
|
|||
|
Function 4 CTRL-E 4 or PF4
|
|||
|
Function 5 CTRL-E 5
|
|||
|
Function 6 CTRL-E 6
|
|||
|
Function 7 CTRL-E 7
|
|||
|
Function 8 CTRL-E 8
|
|||
|
Function 9 CTRL-E 9
|
|||
|
Function 10 CTRL-E 0
|
|||
|
|
|||
|
Notes
|
|||
|
|
|||
|
The Rainbow function keys (F1 through F20) are not used
|
|||
|
by MS-COBOL. Keys PF1 through PF4, on the numeric
|
|||
|
keypad, may be used as function keys 1 through 4.
|
|||
|
|
|||
|
A blinking cursor will remain on in the upper right
|
|||
|
hand corner of the screen while any MS-COBOL program is
|
|||
|
running.
|
|||
|
|