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.
|
||
|