COBOL-64 Software System
COBOL-64 Software System
COBOL-64 Software System
By K. A. Alexander
~bacus Software
Copyright Notice
Abacus Software makes this package available for use on a single
computer only. It is unlawful to copy any portion of this software
package onto any medium for any purpose other than backup. It is
unlawful to give away or resell copies of this package. Any
unauthorized distribution of this product deprives the authors of
their deserved royalties. For use on multiple computers, please
contact Abacus Software to make such arrangements.
Warranty
Abacus Software makes no warranties, expressed or implied as to
the fitness of this software package for any particular purpose. In
no event will Abacus software be liable for consequential damages.
Abacus Software will replace any copy of the software which is
unreadable if returned within 30 days of purchase. Thereafter, there
will be a nominal charge for replacement.
CHAPTER 1
n INTRODUCTION
CHAPTER 2
CHAPTER 3
COBOL ADVANTAGES
CHAPTER 4
CHAPTER 5
HARDWARE CONSIDERATIONS
CHAPTER 6
e
SECTION 1 PROGRAM ORGANIZATION
REQUIRED HEADERS
- SECTION 2
GENERAL
LANGUAGE CONCEPTS
KEYWORDS
All underlined upper-case words are key words and are
required when utilizing related functions. Omissions of
key words will cause error conditions at compilation time.
An example of key words follows:
-
IF data-name IS [m]rNUMERIC I
OPTIONAL WORDS
All upper case words not underlined are optional words
included for readability only and may be included or
excluded in the source program. In the preceding example,
the optional word is IS.
GENERIC TERMS
All lower-case words represent generic terms which are
used to represent COBOL words, literals, P I C T U R E
charac ter-strings, comment-entries, or a complete
syntactical entry that must be supplied in that format
position by the programmer. Where generic terms are
repeated in a general format, a number or letter appendage
to the term serves to identify that term for explanation or
discussion.
Identifier-1 and identifier-2 are generic terms in this
example: Ca
MOVE identifier-1 TO identifier-2
BRACES
BRACKETS
The following symbols are brackets: [ ] . Words and
phrases enclosed in brackets represent optional portions of .rg,
a statement. A programmer wishing to include the optional
feature may do so by including the entry shown between
brackets. Otherwise, the optional portion may be omitted.
[NOT] in the example titled Keywords, is optional.
Abacus Software COBOL 64
LEVEL-NUMBERS
When specific level-numbers appear in data description
entry formats those specific level-numbers are required
when such entries are used in a COBOL 64 program. In
this document, the form 0 1, 0 2, . . . ,0 9 is used to
indicate level-numbers 1 through 9.
ELLIPSIS
The presence of the ellipsis (three consecutive
periods(. . .) within any format indicates the position at
which repetition may occur at the programmer's option.
The portion of the format that may be repeated is defined in
the following paragraph.
The ellipsis applies to the words between the determined
pair of delimiters. Given the ellipsis in a clause or
statement format, scanning right to left, determine the right
bracket or right brace immediately to the left of the ...;
continue scanning right to left and determine the logically
matching left bracket or left brace.
Abacus Software COBOL 64
CHARACTER SET
The COBOL 64 character set for the COBOL 64 System
consists of the following 46 characters:
0 through 9
A through Z
blank or space
+ plus sign
- minus sign or hyphen
* asterisk
/ slash
$ currency sign
. period or decimal point
quotation mark
( left parenthesis
) right parenthesis
0 through 9
A through Z
- (hyphen)
PUNCTUATION CHARACTERS
The following characters may be used for program
punctuation:
quotation mark
( left parenthesis
) right parenthesis
space or blank
. period
Abacus Software COBOL 64
EDITING CHARACTERS
The COBOL 64 System accepts the following characters in
editing:
$ currency sign
* asterisk (check protect)
, cornrna
/ slash
B space or blank insert
0 zero insert
+ plus sign
- minus sign
CR credit
DB debit
z zero suppress
. period
1~ LANGUAGE STRUCTURE
The individual characters of the language are concatenated
to form character-strings and separators. A separator may
be concatenated with another separator or with a
character-string.
A character-string may only be concatenated with a
separator. The concatenation of character-strings and
separators forms the text of a source program.
SEPARATORS
A separator is a string of one or more punctuation
characters. The rules for formation of separators are:
CHARACTER-STRINGS
A character-string is a character of sequence of contiguous
characters which forms a COBOL 64 word, literal,
P I C T U R E character-string, or comment-entry. A
character-string is delimited by separators. AI
Abacus Software COBOL 64
DEFINITION OF WORDS
0 through 9
A through Z
- (hyphen)
A word is ended by a valid separator. A word may not
begin or end with a hyphen. (A literal constitutes an
exception to these rules, as explained in a paragraph
entitled Literals in this section.) A word must begin with
an alphabetic character.
A user-defined word is a COBOL 64 word that must be
supplied by the user to satisfy the format of a clause or
statement.
m
TYPES OF WORDS
COBOL 64 contains the following word types:
nouns (user-defined words)
verbs
reserved words.
Abacus Software COBOL 64
NOUNS
Nouns are divided into special categories:
Record-Name
A record-name is a noun assigned to identify a logical
record. A record can be subdivided into a set of data
items, each distinguishable by a data-name.
Data-Name
r15,
A data-name is a noun assigned to identify elements within
a record or work area and is used in COBOL 64 to refer to
an element of data, or to a defined data area containing data
elements.
Abacus Software COBOL 64
Index-Name
An index-name is a word that names an index associated
with a specific table (refer to Indexing in this section). An
index is a register, the contents of which represent the
character position of the first character of an element of a
table with respect to the beginning of the table.
Paragraph-Name
A paragraph-name is a word which names a paragraph in
thePROCEDUREDIVISION.
Verbs
A verb in COBOL 64 is a single word that denotes action,
such as ADD, WRITE, or MOVE. All allowable verbs in
COBOL 64, with the exception of the word IF, are English
verbs. The usage of the COBOL 64 verbs takes place
withinthePROCEDURE DIVISION.
Abacus Software COBOL 64
RESERVED WORDS
A reserved word is a COBOL 64 word that is one of a
specified list of words which may be used in COBOL 64 e
source programs, but must not appear in the programs as
user-defined words. Refer to Appendix B, Reserved
Words.
These rules apply to the entire COBOL 64 source program;
no exceptions exist for specific divisions or statements.
There are two types of reserved words:
Key words
Optional words
KEY WORDS
A key word is a word whose presence is required in a
source program. Within each format, such words are
upper-case and underlined.
Key words are of three types:
1. Verbs such as ADD and READ.
2. Required words which appear in statement and entry
formats.
3. Words which have a specific functional meaning such
as SECTION.
OPTIONAL WORDS
Optional words are included in the COBOL 64 language to
improve the readability of the statement formats. These
optional words may be included or omitted. For example, rrq
I F A I S GREATER THAN B . . .is equivalent to I F A
GREATER B . . . ; the inclusion or omission of the words
I S and THAN does not influence the logic of the statement.
Abacus Software COBOL 64
LITERALS
A literal is an item of data whose value is implied by an
ordered set of characters of which the literal is composed.
There are two classes of a literal: numeric and
nonnumeric.
NUMERIC LITERAL
A numeric literal is a character-string whose characters are
selected from the digits 0 through 9, the plus sign (+), the
minus sign (-), and/or the decimal point. Numeric literals
may be from 1 to 18 digits in length. The rules for the
formation of numeric literals are as follows:
1. A numeric literal must contain at least one digit.
2. A numeric literal must not contain more than one sign
character. If a sign is used, it must appear as the
leftmost character of the literal. If the literal is
unsigned, the literal is positive.
3. A numeric literal must not contain more than one
decimal point. The decimal point is treated as an
assumed decimal point, and may appear anywhere
within the literal except as the rightmost character. If
the literal contains no decimal point, the literal is an
integer. An integer is a numeric literal which contains
no decimal point.
If a literal conforms to the rules of the formation of
numeric literals, but is enclosed in quotation marks, it
is a nonnumeric literal and is treated as such by the
system.
4. The value of a numeric literal is the algebraic quantity
represented by the characters in the numeric literal.
Every numeric literal belongs to category numeric.
Refer to the P I C T U R E clause in Section 6 for
additional information. The size of a numeric literal in
standard data format characters is equal to the number
Abacus Software COBOL 64
NONNUMERIC LITERAL
A nonnumeric literal may be composed of any allowable
character. The beginning and ending of a nonnumeric
literal are both denoted by a quotation mark. Any character
enclosed within quotation marks is part of the nonnumeric
literal. Subsequently, all spaces enclosed within the
quotation marks are considered part of the literal. Two
consecutive quotation marks within a nonnumeric literal
cause a single quotation mark to be inserted into the literal
string.
n
All other punctuation characters are part of the value of the
nonnumeric literal rather than separators; all nonnumeric
literals belong to category alphanumeric. Refer to the
PICTURE clause in Section 6.
-
"-2080.479" -2080.479
11All 11B11 A"B
RECORD CONCEPTS
The record description consists of a set of data description
entries which describe the characteristics of a particular
record. Each data description entry consists of a
level-number followed by a data-name, if required,
followed by a series of independent clauses, as required.
CONCEPT OF LEVELS
A level concept is inherent in the structure of a logical
record. This concept arises from the need to specify
subdivisions of a record for the purpose of data reference.
Once a subdivision has been specified, it may be further
subdivided to permit more detailed data referral.
n
DATA DESCRIPTION CONCEPTS
The most basic subdivisions of a record, those not further
subdivided, are called elementary items; consequently, a
record is said to consist of a sequence of elementary items,
or the record itself may be an elementary item.
In order to refer to a set of elementary items, the
elementary items are combined into groups. Each group
consists of a named sequence of one or more elementary
items. Groups, in turn, may be combined into groups of
two or more groups. An elementary item may belong to
more than one group.
Abacus Software COBOL 64
LEVEL-NTJMBERS
A system of level-numbers shows the organization of
elementary items and group items. Since records are the
most inclusive data items, level-numbers for records start
at 01. Less inclusive data items are assigned higher (not
necessarily successive) level-numbers not greater in value
than 10. There is a special level-number 77 which is an
exception to this rule. Separate entries are written in the
source program for each level-number used.
A group includes all group and elementary items following
it until a level-number less than or equal to the
level-number of that group is encountered. All items
which are immediately subordinate to a given group item
must be described using identical level-numbers greater
than the level-number used to describe that group item.
Refer to Section 6 under LEVEL-NUMBER for additional
information.
ALGEBRAIC SIGNS
Algebraic signs fall into two categories: operational signs, n
which are associated with signed numeric data items and
signed numeric literals to indicate algebraic properties; and
editing signs, which appear on edited reports to identify the
sign of the item.
Operational signs are represented as defined under symbol
S ' of the P I C T U R E clause. Refer to the P I C T U R E
clause, General Rule 8, the ' S ' symbol in Section 6.
Editing signs are inserted into a data item through the use
of the sign control symbols of the PICTURE clause.
Abacus Software COBOL 64
SUBSCRIPTING
Subscripts can be used only when reference is made to an
individual element within a list or table of like elements that
have not been assigned individual data-names (refer to the
OCCURS clause in Section 6).
General Format:
data-name ( subscript-1 [ subscript-2 [ subscript-3 1 ] )
Example:
I n the following record description, to reference the first
year, TOTAL-PER-YEAR (1) is written. If data-name
YEAR contains the number of the year desired,
TOTAL-PER-YEAR (YEAR) is written. If the data item
MONTH contains the specific month desired within the
year specified by YEAR, TOTAL-PER-MONTH (YEAR
MONTH) is written.
01 YEAR-TABLE.
02 TOTAL-PER-YEAR OCCURS 10 TIMES.
05 TOTAL-PER-MONTH OCCURS 12 TIMES PIC 999.
77 YEAR PIC 99.
77 MONTH PIC 99.
*
INDEXING
References can be made to individual elements within a
table of like elements by specifying indexing for that
reference. An index is assigned to that level of the table by
using the I N D E X E D BY phrase in the definition of a table.
A name given in the I N D E X E D BY phrase is known as an
index-name and is used to refer to the assigned index. The
value of an index corresponds to the occurrence number of
an element in the associated table. An index-name can be
given a value by the execution of a SET statement.
The advantage to indexing is derived by faster execution
time when multiple references to the same table element is
required. In subscripting a multiply function is needed
each time a reference is made. In indexing the multiply
only occurs during execution of the SET statement and not
each time a reference is made.
Abacus Software COBOL 64
C4
The rules for spacing given in the following description of
the reference format take precedence over all other rules for
spacing.
FIELD DEFINITIONS
The same format is used for all four divisions of a COBOL
64 program. These divisions must appear in proper order:
IDENTIFICATION, ENVIRONMENT, DATA, and
P ROCED U R E . The following paragraphs describe the
various fields of this coding form.
PUNCTUATION
The following rules of punctuation apply in COBOL 64
source programs:
1. A sentence must be terminated by a period followed by
a space. A period must not appear within a sentence
unless it is within a nonnumeric literal or is a decimal
point in a numeric literal or P I CTURE string.
2. Two or more names in a series must be separated by a
space.
3. A space must never be embedded in a name; hyphens
are to be used instead. A hyphen must not start or
terminate a name. For example:
PAY-DAY (correct)
-PAYDAY (wrong)
Abacus Software COBOL 64
GENERAL
The first division of the COBOL 64 source program is the
IDENTIFICATION DIVISION whose function is to
identify the source program and the resultant output. In
addition, the date the program was written and other
pertinent information can be included in the
IDENTIFICATION DIVISION.
-
The structure of this division follows:
IDENTIFICATIONDIVISION.
-[ - . program-name.
[AUTHOR. [comment-entry] . . .]
[INSTALLATION. [comment-entry] . . .]
.-[ [comment-entry] . . .I
[SECURITY. [comment-entry] . . .]
The following rules must be observed in the formation of
the IDENTIFICATION DIVISION:
PROGRAM-ID PARAGRAPH
The PROGRAM- ID paragraph gives the name by which a
program is identified.
-
PROGRAMID.
program-name .
The following rules must be observed to form
PROGRAM-ID paragraphs.
1. The program-name must conform to the rules for
formation of a user-defined word.
2. The PROGRAM-ID paragraph contains the name of the
program and must be present in every program.
3. The program-name identifies the source program and
all listings pertaining to a particular program.
4. The program-name must be followed by a period and a
space.
Abacus Software COBOL 64
GENERAL m
The ENVIRONMENT DIVISION is the second division of
a COBOL 64 source program. Its function is to specify the
computer being used for the program compilation, specify
the computer to be used for program execution, and
associate files with the computer hardware devices.
Furthermore, this division is also used to specify
input-output areas to be utilized for each file declared in a
program.
. source-computer-entry
. o b ject-computer-ent ry
.-[ special-names-entry]
.- {file-control-entry ) . . . I
Abacus Software COBOL 64
CONFIGURATION SECTION
The CONF IGURATION SECT ION contains information
concerning the system to be used for program compilation
(SOURCE-COMPUTER), the system to be used for
program execution (OBJECT-COMPUTER), and the
SPECIAL-NAMES paragraph. The SPECIAL-NAMES
paragraph is used to define a special currency sign or
n decimal point in place of commas.
SOURCE-COMPUTER PARAGRAPH
The S O U R C E - C O M P U T E R paragraph identifies the
computer upon which the program is to be compiled.
General Format:
-
SOURCECOMPUTER.
computer-name.
Syntax Rule:
1. The computer-name must be equal to C 64 followed by
a period and a space.
rC4
Example:
SOURCE-COMPUTER. C64.
Abacus Software COBOL 64
-
OBJECT-COMPUTER PARAGRAPH
The OB J E C T - C O M P U T E R paragraph identifies the
computer on which the program is to be executed.
General Format:
UTEB . computer-name .
Syntax Rules:
1. Computer-name must be equal to C 6 4 followed by a
period and a space.
SPECIAL-NAMES PARAGRAPH
The SPEC IAL-NAMES paragraph provides a means of
defining a special currency sign or the decimal point in
place of commas.
General Format:
[CLBREUCY SIGN LS literal]
[ D ~ C -W
POIN2
~ ~ Ls :OMMA1 .
Abacus Software COBOL 64
SPECIAL-NAMES
Syntax Rules:
1. The literal which appears in the CURRENCY S IGN IS
literal clause is used in the P I C T U R E clause to
represent the currency symbol. The literal is limited to
a single character enclosed in quotation marks and
must not be one of the following characters:
a. Digits 0 through 9.
b. Alphabeticcharacters:~ B C D L P R S v x
z space
c. Special characters: * + - , . ; ( ) " / =
INPUT-OUTPUT SECTION
The I N P U T - O U T P UT section contains information
concerning files to be used by the program, and the manner
of recording used.
FILE CONCEPTS
In the following paragraphs, concepts of File Types,
Organization, Access Mode, 1-0 Status, I N V A L I D KEY
and AT E N D are discussed pertaining to Sequential and
Relative files.
SEQUENTIAL 1 - 0
Sequential 1-0 provides a capability to access records of a
file in established sequence. The sequence is established
as a result of writing the records to the file.
n
Sequential 1-0 provides full facilities for the
F I L E - C O N T R O L and F D entries as specified in the
formats of this manual. Within the P R O C E D U R E
DIVISION, Sequential 1-0 provides full capabilities for
the CLOSE, OPEN, READ and WRITE statements.
RELATIVE 1 - 0
Relative 1-0 provides the capability to access records of a
disk file in either a random or sequential manner. Each
record in a relative file is uniquely identified by an integer
value greater than zero which specifies the record's logical
ordinal position in the file.
ORGANIZATION
Sequential Files are organized such that each record in the
file except the first has a unique predecessor record, and
each record except the last has a unique successor record.
These predecessor-successor relationships are established
by the order of WRITE statements when the file is created.
Once established, the predecessor-successor relationships
do not change except in the case where records are added
to the end of the file.
Relative File organization is permitted only on disk storage
devices. A Relative File consists of records which are
identified by relative record numbers. The file may be
thought of as composed of a serial string of areas, each
capable of holding a logical record. Each of these areas is
denominated by a relative record number. Records are
stored and retrieved based on this number. For example,
the tenth record is the one addressed by relative record
number 10 and is in the tenth record area, whether or not
records have been written in the first through the ninth
record areas. The maximum size of a relative logical
record is 254 characters.
ACCESS MODE
The ACCESS MODE clause specifies the manner in which
records are accessed in a file. Sequential and Relative File
access methods are discussed in the following paragraphs.
SEQUENTIAL FILES
In the sequential access mode, the sequence in which
records are accessed is by the ascending order of ordinal
location within the fde.
Abacus Software COBOL 64
- - - -
RELATIVE FILE
In the sequential access mode, the sequence in which
records are accessed is the ascending order of the relative *
record numbers of all records which currently exist within
the file.
In the random access mode, the sequence in which records
are accessed is controlled by the programmer. The desired
record is accessed by placing its relative record number in a
relative key data item.
1 - 0 STATUS
-
If the F I L E STATUS clause is specified in a file control
entry, a value is placed into the specZied two-character data
item during the execution of an OPEN, CLOSE, READ, Or
WRITE statement to indicate to the COBOL 64 program the
status of that input-output operation.
The usage of this feature is strongly recommended. The
testing of 1-0 status after each 1-0 statement will avoid a
good deal of confusion when debugging.
STATUS KEY 1
The leftrnost character position of the F I L E STATUS
data item is known as status key 1 and is set to a value
which indicates one of the following conditions upon
completion of the input-output operation.
VALUE CONDITION
0 Successful Completion
1 At End
2 Invalid Key
3 Perrnanent Error
9 COBOL 64-Defined Condition:
The above conditions are defined in following text.
Abacus Software COBOL 64
SUCCESSFUL COMPLETION
The input-output statement was successfully executed.
AT END
INVALID KEY
The input-output statement was unsuccessfully executed as
a result of one of the following:
1. A READ statement when the contents of the ACTUAL
KEY data item are less than 1 or greater than the ordinal
number of the last record ever written to the file, or
trying to READ a relative file record which was never
written to.
PERMANENT ERROR
The input-output statement was unsuccessfully executed as
the result of a boundary violation for a sequential file or as
the result of an input-output error, such as data check
parity error.
Abacus Software COBOL 64
STATUS KEY 2
The rightrnost character position of the FILE STATUS
data item is known as status key 2 and is used to further m
describe the results of the input-output operations. This
character contains a value as follows:
1. If no further information is available concerning the
input-output operation, then status key 2 contains a
value of 0.
2. When status key 1 contains a value of 2 indicating an
INVALID KEY condition, status key 2 is used to
designate the case of that condition as follows:
a. A value of 3 in status key 2 indicates no record
found. An attempt is made to access a record,
identified by a key, but that record does not exist
in the file.
b. A value of 4 in status key 2 indicates a boundary
violation. An attempt was made to write beyond
the externally defined boundaries of the file.
3. When status key 1 contains a value of 9 indicating a
COBOL 64-defined condition, the value of status key
2 indicates the condition as follows:
Abacus Software COBOL 64
STATUS KEY 2
VALUE CONDITION
0 This is a Commodore exception which is displayed on
the screen. See your Commodore User's Guide for
additional information.
FILE-CONTROL PARAGRAPH
The F ILE-CONTROL paragraph names each file and
allows specification of other file-related information.
General Format:
;IKPUT-OTJTPUT SECTION.
WE-CONTRL
SELF.CT filename
I Q
-MODE
I G A ~
IS SEOUENTIAI,
~ N
3
I S ~ ]
r ORGANIZATION IS RELATIVE
-MODE
[FILE
IS
YEK-[-
{ RANDOM
IS data-name-l]
-KEY
.
IS
IS data-name-2
Abacus Software COBOL 64
Syntax Rules:
1. The SELECT clause must be specified first in the file
control entry. The clauses which follow the SELECT
clause may appear in any order.
General Rules:
1. The ASSIGN clause specifies the association of the file
referenced by file-name to a storage medium. For
Relative and Indexed Files, the storage medium must
be DISK-1541.
-
2. The O R G A N I ZATION clause specifies the logical
structure of a file. The file organization is established
at the time a file is created and cannot subsequently be
changed.
3. When the access mode of a Relative File is sequential,
records in the file are accessed in the order of
ascending relative record numbers of existing records
in the file.
4. When the F I LE STATUS clause is specified, a value
is moved by the COBOL 64 system into the data item
specified by data-name-1 after the execution of every
statement that references that file either explicitly or Aq
implicitly. This value indicates the status of execution
of the statement. Refer to 1-0 Status in this section for
additional information.
5. If the access mode of a Relative File is random, the
value of the RELATIVE KEY data item indicates the
record to be accessed.
6. All records stored in a Relative File are uniquely
identified by relative record numbers. The relative
record number of a given record specifies the record's
logical ordinal position in the file. The first logical
record has a relative record number of 1, and
subsequent logical records have relative record
numbers of 2,3,4, and so forth.
-h
7. In a Relative File, the data item specified by
data-name-2 is used to communicate a relative record
number between the program and the COBOL 64
system.
Abacus Software COBOL 64
GENERAL
The DATA DIVISION describes the data that the object
program is to accept as input, to manipulate, to create, or to
produce as output. Data to be processed belongs to these
three categories:
1. That which is contained in files and enters or leaves the
internal memory of the computer from a specified area
or areas.
2. That which is developed internally and placed into
intermediate or working storage, or placed into specific
format for output reporting purposes.
3. Constants which are defined by the user.
+
DATA DIVISION ORGANIZATION
The DATA DIVISION, which is one of the required
divisions in a program, is subdivided into sections. These
are FILE and WORKING-STORAGE.
The FILE SECTION defines the structure of data files.
Each file is defined by a file description entry and one or
more record descriptions. Record descriptions are written
immediately following the file description entry.
The WORKING-STORAGE SECT ION describes records
and noncontiguous data items which are not part of
external data files but are developed and processed
internally. It also describes data items whose values are
preassigned in the source program.
Abacus Software COBOL 64
-
FILE SECTION.
77-level-description-entry
record-description-entry
RECORD DESCRIPTION
A record description consists of a set of data description
entries which describe the characteristics of a particular
record. Each data description entry consists of a
level-number followed by a data-name (if required), "a
followed by a series of independent clauses as required.
Abacus Software COBOL 64
Examples:
[FJ f ile-name
[VALUE O F F I L E - I D I S literal-11
{ record-description-entry ) . . .] ..
Abacus Software COBOL 64
LABEL RECORDS
The LABEL RECORDS clause specifies whether labels are
present. da
Syntax Rules:
This clause is required. The clause is treated as
documentation only.
VALUE OF
The VALUE OF clause specifies the file identification of a
disk file.
Syntax Rules:
Literal- 1 must be a nonnumeric literal not greater than 19
characters. The first three characters must be @ 0 : if the
"replace" feature is desired. Note that relative files cannot .L"14
be "replaced. See your Commodore user's guide for
more detailed information.
General Rules:
1. For an input file, the appropriate label routine checks
to see if the disk drive contains a file name equal to the
value of literal-1.
For an output file, at the appropriate time, the value of
literal-1 is used to create the disk fde name.
Example: VALUE OF FILE-ID IS "MY-FILE"
Abacus Software COBOL 64
General Format:
{- }
dat a-name-1
level-number
FILLER
[VALUE I S literal-11
- -
[VALUE I S CHR literal-21 .
Abacus Software COBOL 64
Syntax Rules:
1. The level-number may be any number from 0 1 through
10 or 77. m
2. The clauses may be written in any order with one
exception: the data-name-1 or FILLER clause must
immediately follow the level-number.
General Rules:
1. The P ICTURE clauses must not be specified except for
an elementary data item.
DATA-NAME OR FILLER
A data-name specifies the name of the data being
described. The word FILLER specifies an elementary
item of the logical record that cannot be referred to
explicitly.
General Format:
{ data-name
FILLER }
Abacus Software COBOL 64
Syntax Rules:
1. In the FILE and WORKING-STORAGE SECTIONS,
a data-name or the key word FILLER must be the first
word following the level-number in each data
description entry.
General Rules:
1. The key word F I L LE R may be used to name an
elementary item in a record. Under no circumstances
can a FILLER item be referred to explicitly.
2. The key word FILLER is not allowed with a level 77
item or with a VALUE clause.
LEVEL-NUMBER
The level-number shows the hierarchy of data within a
logical record. In addition, it is used to identify entries for
working storage items.
General Format:
level-number
Syntax Rules:
1. A level-number is required as the first element in each
data description entry.
2. Data description entries subordinate to an FD must
have level-numbers with the values 01 through 10.
Refer to the FD file description in the paragraph
entitled File Description Structure.
General Rules:
1. The level-number 01 identifies the first entry in each
record description. Less inclusive groupings are given
-
,
higher numbers (not necessarily successive) up to a
limit of 10.
2. A special level-number has been assigned to entries
where there is no real concept of level: the
level-number 77 is assigned to identify noncontiguous
working storage data items.
3. Multiple level 0 1 entries subordinate to any given level
indicator (FD) represent implicit redefinitions of the
same area.
Examples:
The following is an example of record layout which
corresponds to Figure 6-3 showing a record description "a4
and the use of level numbers.
STUDENT RECORD
01 STUDENT-REC .
0 3 STUDENT-NO PIC 9 ( 6 ) .
0 3 STUDENT-NAME.
0 5 LAST-NAME PIC X ( 8 ) .
0 5 FIRST-NAME PIC X ( 5 ) .
0 3 GRADE PIC 9 9 .
0 3 BIRTH-DATE.
0 5 BIRTH-MONTH PIC 9 9 .
0 5 BIRTH-DAY PIC 9 9 .
0 5 BIRTH-YEAR PIC 9 9 .
OCCURS
The OCCURS clause eliminates the need for separate entries
for repeated data items and supplies information required
for the application of subscripts or indices.
General Format:
QCCyE integer-2 TIMES
Syntax Rules:
1. An INDEXED BY phrase is required if the subject of
this entry, or an entry subordinate to this entry, is to be
referred to by indexing.
2. The OCCURSclause cannot be specified in a data
description entry that has an 01 or 77 level-number.
3. Index-name- 1, index-name-2,.. . must be unique
words within the program.
4. Integer-2 cannot be zero and cannot be greater than
9,999.
General Rules:
General Format:
-PIC
IJ
-. P I C T U R E
1
I S character-string AI
Syntax Rules:
1. A P I C T U R E clause can be specified only at the
elementary item level.
2. A character-string consists of certain allowable
combinations of characters in the COBOL 64 character
set used as symbols. The allowable combinations
determine the category of the elementary item.
3. The maximum number of characters allowed in the
character-string is 30.
General Rules:
rn
1. There are five categories of data that can be described
with a P I C T U R E clause; alphabetic, numeric,
alphanumeric, alphanumeric edited, and numeric
edited.
2. To define an item as alphabetic:
-
0 (zero) and at least one A or at least one
/ (stroke) and at least one ' A .
b. The contents are allowable characters in the
computer character set.
-
1) The number of digit positions that can be
represented in the P I C T U R E character-string
must range from 1 to 18 inclusive.
'A'
Each letter A in the character-string represents a
character position which can contain only a letter of the
alphabet or a space.
IBr
Each letter B in the character-string represents a
character position into which the space character will
be inserted.
IS'
The letter S is used in a character-string to indicate
the presence of an operational sign in the internal
representation of a numeric data item. It must be the
first (leftmost) character in the character-string.
When an operational sign is specified the sign is
maintained and expected in the zone of the most
significant (leftmost) character. When the data item is
the receiving field in an arithmetic statement the four
zone bits are set to binary 0101 for negative values and
to binary 0 1 0 for positive values. When the data item
Abacus Software COBOL 64
'V'
The letter ' v ' is used in a character-string to indicate
the location of the assumed decimal point and may
only appear once in a character-string. The ' v ' does
not represent a character position and is not counted in
the size of the elementary item. When the assumed
decimal point is to the right of the rightmost symbol in
the string, the ' v ' is redundant.
'X'
Each letter ' x ' in the character-string is used to
represent a character position which contains any
allowable character in the character set.
*(rg
'Z'
Each letter ' z' in a character-string may only be used
to represent the leftmost leading numeric character
positions which are replaced by a space character when
the contents of that character positions are zero. Each
' z ' is counted in the size of the item.
'9'
Each numeral ' 9 ' in the character-string represents a
character position which contains a numeral and is
counted in the size of the item.
'0'
Each numeral ' 0 ' in the character-string represents a
character position into which the numeral zero is
inserted. The ' 0 ' is counted in the item.
CI
Abacus Software COBOL 64
I /
1 I
I
Each comma ' , ' in the character-string represents a
character position into which the character ' , ' is
inserted. This character position is counted in the size
of the item. The insertion character ' , ' must not be
the last character in the P ICTURE character-string.
I I
'cs'
The currency symbol ' $ ' in the character-string
represents a character position into which a currency
symbol is placed. The currency symbol in a
character-string is represented by either the dollar sign
' $ ' or by the character specified in the CURRENCY
SIGN clause in the SPECIAL-NAMES paragraph. The
currency symbol is counted in the size of the item.
EDITING RULES:
Alphabetic None
Numeric None
Alphanumeric None
Alphanumeric Edited Simple insertion 0 , B I, and ' / '
Numeric Edited All, subject to Editing Rule 3
3. Floating insertion, and editing by zero suppression and
replacement, are mutually exclusive in a PICTURE
clause. Only one type of replacement may be used
with zero suppression in a PICTURE clause.
4. Simple Insertion Editing. The , (comma), B
(space), 0 (zero), and / (stroke) are used as the
insertion characters. The insertion characters are
counted in the size of the item and represent the
position in the item into which the character is inserted.
Examples:
The following Table 6-3 demonstrates the editing function
of the PICTURE Clause. rn
Table 6-3. Editing Application of the PICTURE Clause
Source Area Receiving Area
Editing
Picture Data Picture Edited Data
Abacus Software COBOL 64
USAGE
The USAGE clause specifies the format of a data item in the
computer storage.
General Format:
Syntax Rules:
1. An index data item can be referenced explicitly only in
a SET Statement or a relation condition.
2. The OCCURS, PICTURE, or VALUE clauses cannot be
used to describe group or elementary items described
with the USAGE I S I N D E X clause.
* General Rules:
1. An elementary item described with the USAGE I S
INDEX clause is called an index data item and contains
a value which must correspond to an occurrence
number of a table element.
The group item is considered to be a group data item
whose class is alphanumeric and may be referenced
any place in the syntax acceptable for such an item.
The size of the group item is considered to be in terms
of characters, six characters for each subordinate index
data item.
2. An index data item can be part of a group which is
referred to in an MOVE,or input-output statement, in
which case no conversion takes place.
Abacus Software COBOL 64
VALUE
The VALUE clause defines the value of constants and the
initial value of working-storage items. e
General Format:
Format 1:
VAT,UE IS literal
Format 2:
VALUE IS W literal-2
Syntax Rules:
1. The VALUE clause cannot be stated for any item that
has the key word F I L L E R or one which has an
OCCURS clause or subordinate to an item which has an
OCCURS clause.
General Rules:
1. The VALUE clause must not conflict with other clauses
in the data description of the item or in the data
description within the hierarchy of the item. The
following rules apply:
a. If the category of the item is numeric, the literal in
the VALUE clause must be numeric. If the literal
defines the value of a working-storage item, the
literal is aligned in the data item according to the
standard alignment rules. Refer to Standard
Alignment Rules in Section 2.
b. If the category of the item is alphabetic,
alphanumeric, alphanumeric edited or numeric
edited, all literals in the VALUE clause must be
nonnumeric literals. The literal is aligned in the
data item as if the data item had been described as
alphanumeric. (Refer to Standard Alignment
Rules in Section 2.) Editing characters in the
P I C T U R E clause are included in determining the
size of the data item (refer to the PICTURE clause
in this section) but have no effect on initialization
of the data item. Therefore, the VALUE for an
edited item is presented in an edited form.
2. Rules governing the use of the VALUE clause differ
with the respective sections of the DATA DIVISION:
3. The V ~ U clause
E is not allowed at the group level.
4. Format 2 is intended to provide a method of defining
special character codes which are required for display Flr
or printer commands and for testing certain keyboard
input characters such as function keys. Refer to your
Commodore User's Guide relating to CHRS codes.
For Example:
77 RETURN-CODE VALUE IS CHR 13 PIC X.
InthePROCEDURE DIVISIONwhenaDISPLAY
RETURN-CODE is executed the cursor will advance to
the next line and then position to column 1.
5. Format 2 is an extension to the ANSI COBOL-74
standard.
rllrr
WORKING-STORAGE SECTION
The WORKING-STORAGE SECTION is optional a d i s
that part of the D A T A D IV I S I ON set aside for
intermediate processing of data. The difference between
the WORKING-STORAGE a d FILE SECTIONS is that
the former deals with data that is not associated with an
input or output file. All clauses which are used in normal
input or output record descriptions can be used in a
WORKING-STORAGE record description.
WORKING-STORAGE STRUCTURE
Whereas the FILE SECT ION is composed of file
description (FD) entries and associated record description
entries, the WORKING-STORAGE SECT ION is composed -%
only of record description entries and noncontiguous
items. The WORKING-STORAGE SECT ION begins with
the section-header and a period, followed by data
Abacus Software COBOL 64
77 data-name-n
01 data-name-2
0 2 data-name-3
NONCONTIGUOUS WORKING-STORAGE
Items in WORKING-STORAGE which have no hierarchical
relationship to one another need not be grouped into
records, provided they do not need to be further
subdivided. These items are classified and defined as
noncontiguous elementary items. Each of these items is
defined in a separate data description entry which begins
with the special level-number 77.
The following record description clauses are required in
each entry:
Level-number 77
Data-name
The P ICTURE clause or the USAGE IS INDEX clause.
WORKING-STORAGE RECORDS
Data elements and constants in WORKING-STORAGE
which have a definite hierarchic relationship to one another
must be grouped into records according to the rules for the
formation of record descriptions. All clauses which are
used in normal input or output record descriptions can be
used in a WORKING-STORAGE description.
INITIAL VALUES
The initial value of any item in the WORKING-STORAGE
SECTION except an index data item is specified by using
the VALUE clause with the data item. The initial value of
any index data item is unpmhctable.
WORKING-STORAGE SECTION.
01 HDG-LINE.
0 3 FILLER PIC X(52).
0 3 DN2 PIC A(17) VALUE "SALES PERFORMANCE".
m GENERAL
The PROCEDURE DIVISION must be included in every
COBOL 64 source program. This division must contain at
least 1 paragraph.
A paragraph consists of a paragraph-name, followed by a
period and a space, followed by zero, one, or more
successive sentences. A paragraph ends immediately
before the next paragraph-name or at the end of the
PROCEDURE DIVISION.
STATEMENTS
There are two types of statements; conditional statements
and imperative statements.
e
CONDITIONAL STATEMENTS
A conditional statement specifies that the truth value of a
condition is to be determined and that the subsequent action
of the object program is dependent on this truth value.
A conditional statement is
1. An IF statement.
5. A F ILTER-NUMERIC statement.
Abacus Software COBOL 64
IMPERATIVE STATEMENTS
An imperative statement indicates a specific unconditional
action to be taken by the object program. An imperative
statement is any statement that is not a conditional
statement. An imperative statement may consist of a
sequence of imperative statements, each possibly separated
from the next by a separator. The imperative verbs are:
ACCEPT
ACCEPT-1-KEY
ADD (1)
CLOSE
DEBUG-BREAK
DEBUG-TRACE-OFF
DEBUG-TRACE-ON
DISPLAY
DIVIDE (1)
EXIT
GO
MOVE
MULTIPLY (1)
OPEN
PERFORM
READ (2)
SET
STOP
SUBTRACT (1)
WRITE (3)
RELATION CONDITION
A relation condition causes a comparison of two operands,
each of which may be the data item referenced by an
identifier or a literal. A relation condition has a truth value
of TRUE if the relation exists between the operands. If
either of the operands is a group item, the nonnumeric
comparison rules apply.
General Format:
[=I GREATER
[=I EOUAI, TO
When used, NOT and the next key word are one relational
operator that defines the comparison to be executed for
truth value; for example, NOT EQUAL is a truth test for an
unequal comparison; NOT GREATER is a truth test for an
equal or less comparison. The meaning of the relational
operators is as follows:
Abacus Software COBOL 64
item of the same size as the numeric data item (in terms
of standard data format characters), and the contents of
this group item are compared to the nonnumeric
operand. Refer to the MOVE for additional information.
3. A noninteger numeric operand cannot be compared to a
nonnumeric operand.
4. The operands must be the same size.
CLASS CONDITION
The class condition determines whether the operand is
numeric, consisting entirely of the characters '0 , 1 ' ,
2 , 3 , . . . , ' 9 ' , with or without the
operational sign, or alphabetic, consisting entirely of the
characters 'A', B , C .
. . ' Z ' , andspace.
General Format:
COMMON PHRASES
In the statement descriptions that follow, several phrases
appear frequently: the ROUNDED phrase and the SIZE .r.br
ERROR phrase.
ROUNDED PHRASE
If, after decimal point alignment, the number of places in
the fraction of the result of an arithmetic operation is
greater than the number of places provided for the fraction
of the resultant-identifier, truncation is relative to the size
provided for the resultant-identifier. When rounding is
requested, the absolute value of the resultant-identifier is
increased by adding a one into the low-order digit
whenever the absolute value of the next least significant
digit of the intermediate data item is greater than or equal to
five.
STATEMENT FORMATS
m
GENERAL RULES FOR STATEMENT FORMATS
The following paragraphs describe general rules for
statement formats.
ARITHMETIC STATEMENTS
The arithmetic statements are ADD, DIVIDE, MULTIPLY,
and SUBTRACT and have several common features:
1. The data descriptions of the operands need not be the
same; any necessary conversion and decimal point
alignment is supplied throughout the calculation.
2. The maximum size of each operand is 18 decimal
digits.
INCOMPATIBLE DATA
-
Except for the class condition (refer to Class Condition in
this section), when the contents of a data item are
referenced in the PROCEDURE DIVISION and the
contents of that data item are not compatible with the class
specified for that data item by the PICTURE clause, then
the result of such a reference is undefined.
ACCEPT
The A C C E P T statement is used to input data from the
keyboard and placed in the specified data item.
General Format:
ACCEPT identifier
Syntax Rules:
1. If the identifier describes a numeric item it must be an
integer.
General Rules:
1. The A C C E P T statement causes the transfer of data
from the keyboard. This data replaces the contents of
the data item named by the identifier.
2. The maximum number of characters that can be
transferred is 80. The R E T U R N key terminates the
transfer.
General Format:
- -
ACCEPT identifier
ADD
The ADD statement causes two or more numeric operands
to be summed and the result to be stored.
General Format:
Format 1:
] ]
identifier-1 identifier-2
lQ identifier-m [ROUNDED]
Format 2:
GlVING identifier-m I - [
Syntax Rules:
1. In formats 1 and 2, each identifier must refer to an
elementary numeric item, except that in Format 2 the
identifier following the word G I V I N G must refer to
either an elementary numeric item or an elementary
numeric edited item.
2. Each literal must be a numeric literal.
Abacus Software COBOL 64
General Rules:
1. Additional rules and explanation relative to this
statement are given in the appropriate paragraphs.
Refer to ROUNDED Phrase, S I Z E ERROR Phrase,
Arithmetic Statements.
2. If Format 1 is used, the values of the operands
preceding the word T O are added together, then the
sum is added to the current value of identifier-n storing
the result immediately into identifier-n.
3. If Format 2 is used, the values of the operands
preceding the word GIVING are added together, then
the sum is stored as the new value of identifier-m, the
resultant-identifier.
4. The system ensures that enough places are carried so
that significant digits are not lost during execution.
Examples: ng
Format 1:
ADD X TO T O T . Results TOT= 52
Format 2:
ADD X
ADD X
Y GIVING TOT.
Y Z G I V I N G TOT
Results TOT= 1 2
Results TOT=2 7
-
Abacus Software COBOL 64
CLOSE
General Format:
n
CJIOSF, file-name
DEBUG-BREAK
This verb will cause an execution break if the program is
executing in the DEBUG Mode. Refer to the DEBUG Mode
sections. The verb is ignored if not executing in the
D E B U G Mode. This verb is an extension to the ANSI
standard.
DEBUG-TRACE-OFF
When executing in the DEBUG Mode this verb will turn off
the trace feature. Refer to the DEBUG section. This verb is
ignored if executing in the DEBUG Mode. This verb is an
extension to the ANSI standard.
Abacus Software COBOL 64
-
DEBUG-TRACE-ON
This verb will cause the trace feature to be turned on if
executing in the DEBUG Mode. Refer to the DEBUG Mode
section. The verb is ignored if not executing in the DEBUG
Mode. This verb is an extension to the ANSI standard.
DISPLAY
The D I SPLAY statement causes the data items to be
displayed on the screen.
General Format:
Syntax Rules:
e
If the literal is numeric, then it must be an unsigned
integer.
General Rules:
1. The DISPLAY statement causes the contents of each
operand to be transferred to the hardware device in the
order listed.
DIVIDE
The DIVIDE statement divides one numeric data item into
others and sets the values of data items equal to the
quotient.
General Formats:
Format 1:
Format 2:
Syntax Rules:
EXIT
EXIT.
Syntax Rules:
1. The EXIT statement must appear in a sentence alone.
2. The EXIT sentence must be the only sentence in the
paragraph.
General Rules: )
FILTER-NUMERIC
The F ILTER-NUMERIC statement filters and validates
alphanumeric data to numeric data format. This verb is an
extension to ANSI COBOL-74.
General Format:
ON ERROR imperative-statement
Syntax Rules:
1. Identifier-1 represents the sending area and identifier-2
represents the receiving area.
Abacus Software COBOL 64
123.45 12345
1 00100
-
(all spaces) 00000
.12 00012
1 2 ERROR-embedded space
1234.5 ERROR-size
1.2345 ERROR - size
1.2.3 ERROR - more than 1 decimal point
1A2 ERROR-invalid character
ERROR-decimal point only
Abacus Software COBOL 64
Format 2:
GQ TO paragraph-name-1 [paragraph-name-21 ... paragraph-name-n
DEPENDING ON identifier
Syntax Rules:
1. Identifier is the name of a numeric elementary item
described without any positions to the right of the
assumed decimal point.
Syntax Rules:
1. Statement- 1 and statement-2 must represent an
imperative statement.
2. The ELSE NEXT SENTENCE phrase may be omitted
if it immediately precedes the terminal period of the
sentence.
e
General Rules:
1. When an I F statement is executed, the following
transfers of control occur:
ADD 1 TO TOT-BAD-APPLES.
MOVE
The MOVE statement transfers data, in accordance with the
rules of editing, to one or more data areas. -4
General Format:
-{
Syntax Rules:
identifier-
literal ) T
.
Q identifier-2 [identifier-31 ...
is equivalent to:
MOVE a ( b ) TO t e m p
MOVE t e m p T O b
MOVE t e m p T O c ( b )
Abacus Software COBOL 64
MULTIPLY
The M U L T I P L Y statement causes numeric data items to be
multiplied and sets the value of a data item equal to the ,
-
result.
General Format:
Format 1:
BX identif ier-2 [ROUNDED]
literal-1
Format 2:
Syntax Rules:
1. Each identifier must refer to a numeric elementary
item, except that in Format 2 the identifier following
the word G I V I N G must refer to either an elementary
numeric item or an elementary numeric edited item.
2. Each literal must be a numeric literal.
3. The composite of operands, determined by
superimposing all receiving data items of a given
statement, aligned on decimal points, must not exceed
18 digits. rn
Abacus Software COBOL 64
General Rules:
OPEN
The OPEN statement initiates the processing of files. It
also performs checking of labels and other operations.
n
General Format:
Syntax Rules:
1. The 1 - 0 phrase can be used only for disk files. The
disk file must be defined with ORGAN I ZAT I O N I S
R E L A T I V E and ACCESS MODE I S RANDOM
clauses.
General Rules:
1. The successful execution of an OPEN statement
determines the availability of the file and results in the
file being in an open mode.
-
execution of the OPEN statement causes the labels
to be written in accordance with conventions for
output label writing.
7. The file description entry for the file-name must be
equivalent to that used when this file was created.
PERFORM
The PERFORM statement is used to transfer control
explicitly to one or more paragraphs and to return control
implicitly whenever execution of the specified paragraph is
complete
General Format:
Syntax Rules:
Example:
PARA . ADD.. ..
PARB . MOVE. . . .
START
PARA
PARA
PARB
PARC
PARB
ENDIT
Abacus Software COBOL 64
READ
For sequential access, the READ statement makes available
the next logical record from a file. For random access, the e
READ statement makes available a specified record.
General Format:
Format 1:
READ file-name RECORD
AT ENQ imperative-statement
Format 2:
READ file-name RECORD
Syntax Rules:
1. Format 1must be used for all files in sequential access
mode.
2. Format 2 is used for files in random access mode.
General Rules:
1. The associated file must be open in the I N P U T or 1-0
mode. Refer to the OPEN statement in this section.
SET
The SET statement establishes reference points for table
handling operations by setting index-names associated with
table elements.
General Format:
identi f i e r - 3
Syntax Rules:
1. Integer-1 may be signed but must be plus.
General Rules:
1. Index-names are considered related to a given table and
are defined by being specified in the I N D E X E D BY
clause.
2. If index-name-3 is specified, the value of the index
before the execution of the SET statement should
correspond to an occurrence number of an element in
the associated table.
If index-name-1 is specified, the value of the index
after the execution of the S E T statement should
correspond to an occurrence number of an element in
the associated table. e
When a statement using the index-name to refer to a
table element is executed, the value in the index or the
value produced by relative indexing must fall within
Abacus Software COBOL 64
STOP
The STOP statement causes a permanent suspension of the
execution of the object program.
General Format:
Syntax Rules:
1. If a STOP RUN statement appears in a consecutive
sequence of imperative statements within a sentence, it
-
must appear as the last statement in that sequence.
General Rules:
1. The ending procedure established by the COBOL 64
system is instituted.
Abacus Software COBOL 64
SUBTRACT
The SUBTRACT statement is used to subtract one or the
sum of two or more numeric data items from one item and
set the value of one item equal to the result.
General Format:
Format 1:
...
{ } ]
SUBTRACT identifier-1 identifier-. identifier-m
literal-1 [literal-2
[ROUNDED]
Format 2:
rn SUBTRACT
{
identifier-1
GrVING identifier-n
t }
identifier-2
[ i t ]
. . .- identifier-m
Literal-m 1
[ON ERROR imperative-statement]
Syntax Rules:
1. Each identifier must refer to a numeric elementary item
except that in Format 2, the identifier following the
word G I V I N G must refer to either an elementary
numeric item or to an elementary numeric edited item.
2. Each literal must be a numeric literal.
Abacus Sottware COBOL 64
General Rules:
1. Additional rules and explanations related to this
statement are given in the appropriate paragraphs.
Refer to ROUNDED Phrase, SIZE ERROR Phrase in
Arithmetic Statements in this section.
2. In Format 1, all literals or identifiers preceding the
word FROM are added together, and this total is
subtracted from the current value of identifier-m. The
result is immediately stored into identifier-m.
3. In Format 2, all literals or identifiers preceding the
word FROM are added together, the sum is subtracted
from literal-m or identifier-m, and the result of the
subtraction is stored as the new value of identifier-m.
Examples:
Format 1:
SUBTRACT X FROM TOT. r e s u l t s TOT=48
SUBTRACT X Y 2 FROM TOT r e s u l t s TOT=23
Format 2:
SUBTRACT X Y FROM SUB GIVING TOT. r e s u l t s TOT=18
SUBTRACT X Y FROM Z GIVING TOT r e s u l t s TOT=3
Abacus Software COBOL 64
WRITE
The W R I T E statement releases a logical record for an
output file. It can also be used for vertical positioning of
lines for a printer.
General Format:
Format 1:
E3JT.L record-name
-----
ADVANCING integer
Format 2:
UE,ITE record-name
Syntax Rules:
1. The record-name is the name of a logical record in the
FILE SECTION of the DATA DIVISION.
PRINTER FILES
1. The ADVANC ING phrase allows control of the vertical
n
positioning of each line on a printed page. If the
ADVANCING phrase is not used, automatic advancing
is provided to act as if the user had specified AFTER
ADVANCING 1LINE. If the ADVANCING phrase
is used, advancing is provided as follows:
a. IIf integer-1 is specified, the page is advanced the
number of lines equal to the value of integer-1.
DISK FILES
SEQUENTIAL FILES:
n
1. When an attempt is made to write beyond the
externally defined boundaries of a Sequential File, an
exception condition exists and the contents of the
record area are unaffected. The value of the FILE
STATUS data item, if any, of the associated file is set
to a value indicating a boundary violation. Refer to
1-0Status in Section 5.
RELATIVE FILES:
1. When a Relative File is opened in the output mode,
records may be placed into the file in one of the
following ways:
a. If the access mode is sequential, the W R I T E
statement causes a record to be released. The first
record has a relative record number of 1 and
subsequent records released have relative record
numbers of 2,3,4, and so on. If the RELATIVE
KEY data item has been specified in the file control
entry for the associated file, the relative record
number of the record just released is placed into
the RELATIVE KEY data item during execution
of the WRITE statement.
b. If the access mode is random, before the execution
of the W R I T E statement, the value of the
RELATIVE KEY data item must be initialized in
the program with the relative record number to be
associated with the record in the record area. That
record is then released by execution of the WRITE
statement.
2. When a Relative File is opened in the 1-0mode and the
access mode is random, records are to be inserted in
the associated file. The value of the RELATIVE KEY
data item must be initialized by the program with the
relative record number to be associated with the record
Abacus Software COBOL 64
CHAPTER 7
SYS 2 0 5 1
CHAPTER 8
MAIN MENU
-
Main Menu
CRUNCH
The CRUNCH function is used to reduce the memory size of
your program file. A file must be present, refer to GET
and NEW-PROG. If the COED I T program overlay is not
present in memory, it will be automatically loaded by the
system from disk. Messages will appear on the screen
when this occurs.
While developing your program, each time you delete or
change lines the memory space for the old lines is no
longer available for new lines. This is not a problem
unless you exceed the maximum available memory. At this
time or at any time you wish to consolidate memory,
invoke this function.
The processing associated with this function includes
writing to disk a temporary file with the prefix C S
(COBOL sequential) before your file name. eg.
CSYOUR-NAME. A warning message will appear on the
screen which will allow you to remove the COBOL 64
diskette and insert your diskette. Enter any key on the
keyboard to continue. Once the temporary file is written, it
is then read back into the system. As each line is written to
disk or read back from disk, it will appear on the screen.
At the completion of this task a warning message will
appear which allows you to save the new consolidated
program on disk. The system will now return to the Main
Menu.
Abacus Software COBOL 64
Main Menu
DEBUG
rn
This function directs the system to begin executing the
current program file in memory. A file must be present,
refer to G E T or NEW-PROG. The DEBUG function is
similar to the RUN function described below. In addition to
executing your program a number of powerful debug
features are provided which are intended to facilitate the
debugging of your program. All debugging in COBOL 64
is accomplished at the source (symbolic) language level.
There is no need to be concerned with machine language,
memory addressing or hexadecimal notation.
Before debugging can begin, your program is tested to
determine if it has been successfully syntaxed. If it has,
the CORD (RunIDebug) program overlay is automatically
loaded from disk if required. If your program had not
previously been syntaxed the syntax process will begin.
Refer to EDIT SYNTAX for additional details. If the
syntax process is unsuccessful the system resumes at the
main menu. If successful the system proceeds with the
CORD program overlay.
l=START- PROG
2=RESUME-PROG
3=S INGLE -ON
4=SINGLE-OFF
5=EXIT
6=BREAK1
7=BREAK2
8=BREAK3
9=OPTIONS
10=TRACE-ON-LINE
11=TRACE-OFF-LINE
12=TRACE-FAST
13=TRACE-SLOW
14=TRACE-ON
15=TRACE-OFF
16=RESET-OPTIONS
START-PROG
This selection will cause your program to begin executing
at the first PROCEDURE DIVISION statement in your
program. Your program is initialized with its starting
VALUE clauses as required. To simplify debugging, all
other data items are initialized to the numeral 9. During
execution, if your program references a data item which
you did not properly initialize, the 9's will be obvious;
otherwise you would see strange characters on the screen
for a DISPLAY statement or as a function of the trace
feature.
Abacus Software COBOL 64
RESUME-PROG
This selection allows you to continue execution from the
point where it was before entering the debug menu state.
This selection cannot be used when starting a program, or
n
after a STOP RUN verb, you must use the START-PROG.
SINGLE-ON
This selection turns on the "single step" feature. Single
stepping allows you to step through your program
execution one statement at a time. Once your program
begins executing (see START-PROG or RESUME-PROG)
each statement will display S=NNNNNN where N is equal to
the line number of the statement followed by the statement.
At this point depress the RETURN key to execute the next
statement. Any other key will direct the system to the
DEBUG Menu. This feature will also automatically turn on
the trace feature, refer to TRACE-ON. Comment lines are
ignored during execution.
SINGLE-OFF
The single step feature described above is turned off. The
trace feature is also turned off.
EXIT
This selection will direct the system to exit the D E B U G
Mode and proceed to the COBOL 64 Main Menu.
Abacus Software COBOL 64
OPTIONS
The selection of this feature directs the system to display
the current state of all DEBUG Menu options.
b4 TRACE-ON-LINE
A selection of this feature allows you to enter a statement
line number which when executed will cause the system to
turn on the trace feature. Refer to T R A C E - O N for
additional information.
TRACE-OFF-LINE
A selection of this feature allows you to enter a statement
line number which when executed will cause the system to
turn off the trace feature. Refer to T R A C E - O N and
TRACE-OFF for more details.
Abacus Software COBOL 64
TRACE-FAST
The TRACE-FAST feature displays all trace information at
full speed This is the default setting for the trace feature.
n
TRACE-SLOW
TRACE-ON
The selection of the TRACE-ON feature provides for
information to be displayed during execution of your
program. The TRACE-ON feature is a default setting.
As each statement is executed the system displays a
T=NNNNNN followed by the statement; where N is equal to
the statement line number. All comment lines are ignored
during tracing. If the statement being traced has a receiving
data item such as MOVE A TO B then C= is displayed
followed by the new contents of the data item. The size of
the display is limited to 18 characters. If the receiving field
is a numeric data item the contents display is enhanced to
include the sign (+-) if present and the letter ' v ' in the
assumed decimal point position.
Example:
The picture of A is equal to S 9 9V9 9.
TRACE-OFF
The trace feature described above is turned off. There is also a
DEBUG-TRACE-OFF verb for this purpose which you
can insert in your program as required.
RESET-OPTIONS
TRACE-ON
TRACE-FAST
Abacus Software COBOL 64
Main Menu
EDIT
The E D I T function is used to enter your COBOL 64 na
statements. A set of ED I T functions are also provided to
facilitate the editing process:
COBOL 64 Statements
Start by entering a six digit line number followed by the
remainder of your statement. Refer to the section titled
Editing Format for additional information. Each line must
be terminated by the RETURN key before it is processed by
the system. The Commodore cursor control keys are
enabled including the inservdelete keys. Refer to your
Commodore User's Guide for more details. One line on
the screen is 40 characters, a COBOL 64 line can be up to
80 characters, which would occupy 2 lines on the screen.
To replace a line you may simply type the new line with the
same line number as the line your are replacing. The
E D I T - L I ST function described below can be used to
Abacus Software COBOL 64
view your text. You can, for example, list a line or series
of lines, and then type any changes needed followed by the
RETURN key. Inserting lines is accomplished by typing a
line number which falls between two existing lines.
Deleting lines is accomplished by the ED I T - D E L E T E
function described below.
While entering COBOL 64 statements some validation of
the text is performed. If an error is detected INVAL I D
E N T R Y is displayed. If this message should appear,
review the entry you have just typed and make any
necessary corrections.
Example:
If you enter -
ADD A TO 1B
DIRECTORY
The D I R E C T O R Y function will list the disk directory on
the screen. The abbreviation D I R can be used.
Abacus Software COBOL 64
LIST
The LIST function has the following format:
DELETE
The format and validation of DELETE is similar to LIST.
This function deletes the lines indicated. The lines are
displayed for documentation purposes.
Abacus Software COBOL 64
SYNTAX
AUTO
The AUTO function provides for automatic display of the
next line number. The AUTO function has the following
format:
AUTO [line-increment-value]
1. The line-number-value must be within the range 1 to
loo.
SAVE
The SAVE function causes your program to be saved to
disk, refer to Main Menu SAVEfor additional details. It is
good practice to periodically save your program file onto
disk in case a problem with your computer or electrical
power develops. It is also good practice to save your
program on a second or third diskette in case a problem
with the diskette develops.
Abacus Software COBOL 64
RESEQUENCE
PRINT-ON PRINT-OFF
This function forces all keyboard input and displays to the
screen to be printed on the printer. The printer must be
powered on. The feature provides for creating program
listings, documents all changes and error messages. For
example, if the PRINT-ON is entered followed by LIST
5 0 0 0 8 0 0 0, these lines are displayed on the screen and
printed on the printer. If SYNTAX is selected with the
P R I N T -ON, all error messages are printed for later
evaluation.
EXIT
The E X I T function allows for terminating the E D I T
session and returns processing to the COBOL 64 Main
Menu. If the E D I T session included changing the program
file, then a warning message appears, which will allow
files to be saved on disk. Refer to the Main Menu SAVE
function for additional details on saving a file.
Abacus Software COBOL 64
Main Menu
GET
The GET function is used to get (load) an existing program
file from disk into memory. A message appears on the
screen requesting that a file name be entered. At this time
you must remove the COBOL 64 diskette and insert your
diskette. Enter the desired file name (enclosed in quotation
marks) followed by the R E T U R N key. Messages will
appear during the loading process. The system will return
to the main menu following the loading process. At this
time you may need to remove your diskette and insert the
COBOL 64 diskette, depending on your next menu
selection.
NEW-NAME
The NEW-NAME function provides for the changing of a Ca
program file name. A file must be present, refer to GET or
NEW-PROG. A message appears on the screen requesting
that the new file name be entered. Enter the new file name
(enclosed in quotation marks) followed by the RETURN
key. The system then returns to the Main Menu. This
feature is useful when using an existing program as a basis
for a new program.
NEW-PROGIEDIT
This function erases any existing program in memory and
accepts a new program name. A message appears on the
screen requesting that a file name be entered. Enter the
new program name (enclosed in quotation marks) followed
by the RETURN key. The system then proceeds as if the
ED I T function had been selected from the Main Menu.
Refer to the section on ED I T for additional information.
Abacus Software COBOL 64
PRINT-ON PRINT-OFF
These features force all keyboard input and screen displays
to be printed on the printer. The printer must be powered
on. They are intended for creating program listings,
documenting all changes, menu selections, tracing and
error messages.
RUN
This function directs the system to begin executing the
current program file in memory. A file must be present,
refer to GET or NEW-PROG. Before execution can begin
your program is tested to determine if it has been
successfully syntaxed.
SAVE
The SAVE function provides for the saving of your
program onto disk. A file must be present, refer to GET or
N E W-PROG. Before proceeding with the SAVE, remove
the COBOL 64 diskette and insert your diskette.
Program files are saved in two parts. Each part is prefixed
by C 1 or C2 before your file name. eg., ClYOURF I L E
C 2Y OURF ILE. Screen messages will appear during the
saving process. If your file already exists on the diskette it
will automatically be overwritten by the new file.
Abacus Software COBOL 64
APPENDIX A
n SAMPLE PROGRAM
0 0 2 8 0 0 START-ENTRY.
002980 DISPLAY RETURN-CODE
il0388il YNTER: "
Ba3i80 NOVi " TTG ENTRY
003200 W E i TO ENTRY-SUB.
O03300 ACCEPT-LOOF.
0'83400 ACCEPT-i-KEY LEY-Iii
89350a DISPLAY KiY-ik
8936$0 1; KEY-ifi is Es;LL "+"
i;iSPi8r 9''L"t'
8853'jfi ,-, , , 9 - ~ . k 2 t
"'Y'
89b558 D~SPL~F-~~HE,
8165ajj P i d S - x E Y - E i i i . E X I T ,
aabtae nrnus-KEV.
Abacus Software COBOL 64
APPENDIX A
Exercises
1 2B 3 + (not a number)
1 2 . 3 4 5 + (too many digits after decimal point) dsa
f. To exit the program and return to the Main Menu
Enter E
Abacus Software COBOL 64
- APPENDIX B
RESERVED WORDS
All reserved words known to the COBOL 64 System are listed in
this Appendix.
APPENDIX C
LANGUAGE SUMMARY
IDENTIFICATION DIVISION
PROGRAM-ID
AUTHOR
INSTALLATION
DATE-WRITTEN
SECURITY
ENVIRONMENT DIVISION
CONFIGURATION SECTION
SOURCE-COMPUTER
OBJECT-COMPUTER
SPECIAL-NAMES
CURRENCY SIGN IS...
DECIMAL-POINT IS COMMA
INPUT-OUTPUT SECTION
FILE-CONTROL
SELECT...ASSIGN...
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
ORGANIZATION IS RELATIVE
ACCESS MODE IS SEQUENTIAL RELATIVE KEY IS ...
ACCESS MODE IS RANDOM RELATIVE KEY IS...
FILE STATUS IS..,
DATA DIVISION
FILE SECTION
FD
LABEL RECORDS ARE...
VALUE OF FILE-ID IS.. .
WORKING STORAGE SECTION
LEVEL-NUMBER...FILLER...
PICTURE IS...
USAGE IS...INDEX...
OCCURS...TIMES...
INDEXED BY...
VALUE IS...CHR...
Abacus Software COBOL 64
PROCEDURE DIVISION
ACCEPT. ..
ACCEPT-1-KEY.. .
ADD...GIVING...ROUNDED ON SIZE ERROR...
CLOSE. ..
DEBUG-BREAK
DEBUG-TRACE-OFF
DEBUG-TRACE-ON
DISPLAY...
DIVIDE...INTO BY...GIVING...ROUNDED ON SIZE ERROR...
EXIT
FILTER-NUMERIC...
GO TO. ..DEPENDING ON...
IF...NEXT SENTENCE...ELSE...NEXT SENTENCE...
MOVE. ..
MULTIPLY ...
BY...GIVING...ROUNDED ON SIZE ERROR...
OPEN INPUT ...
OUTPUT...I-O...
PERFORM...THRU...
READ...AT END...INVALID KEY...
SET.. .
STOP RUN
SUBTRACT ...
FROM...GIVING...ROUNDED ON SIZE ERROR...
WRITE...BEFORE/AFTER ADVANCING ... LINES...INVALID KEY...
" m ~ v s m ~ ~ 3 ~ m w ~ 5 ~ ~ ~ ~ a m ~ w 6 v.: 1 1e ~v ~ &w ~~ c~ ;e ~u .m ; o. ~ e s a c u a a ~ 6 3
~ ~ E ~ W ~ ~ F ~ ~ ~ ~ ~ ~ ~ ~ ~ W B ~ ~ ~ ~ ~ ~
t.4 I:..-4 vl.i
,..I ,.I: (.J ,:..J I.., hl C...l t-..:l C.3 h, h..I C
3
. p>
. PI:, r... t C.' c c G- C- C- L' - . U ? O W G 2 C S B W B W -.
--I LO v s- I:...J ,...I .n co -4 V- m e r--J r.3
- LY 41m -4 o. ~n & UJ I+; m 4 1 m -.I G- r n P C-J r~aL-
-. --
6.,~'~FJ~~"rslocs;lcusw61~BeF.l~R1LY~6.,aLYNm~LYN~CU~~IS1w~~8)Cil
~ 1 s ~ 6 ~ ~ ~ ~ ~ 1 ~ r ~ ~ ~ 6 ~ 1 5 ; ~ ~ ~ ~ ~ ~ 6 ~ e - , ~ ~ ~
rr1 il') 7 1 -., J. A..'
.--I -..I s: 62 N T 7 1 C I T CI "1 CI rn 1 ;. 7 1 -*
--..I I . ' I .,-).
'.I : . 1
c:,
-z -., 73
r :.C I -., 7.1
... -. u -.
r- -4
2)
r c
r. 73 c
- a z c::73. CY
-* z r r 7 c;> c
. z <:: -1 C, rn
-%I >-, 7: rn 2, n 1 c rrl rn 7 1 -1 I GI z
..,I -r., -. CI C,
-n C, X I , 3 -I
r: 7.r
rZI es, c 2 m R, c:r < - r- O T u', I -4 r 1 c-J 3 7 CJ x x --4
--4 r r ~ -7, ' ~ 1
r' r r j c XI g
-, I el
' h3 P.1 z, ~ . : 1r.3 s1 r z:.15 ~1 D c-. rn r:)I -I rn L-'D c o I:, -4
-.I r- IT -.4 rn c-. r -r. I I c.2 - TI
- c
m: m x
TI? Wl <A:, c: c: r-' m -+ If> -, '7, --,
-. -
.:: T I .Z 71 -C' X? rr1 T;,CI I .-I 1 I:. I:.C Z ~ D~1 c m m &.. c r~ rl r c x I -,
- -
r, , r 1- 1 , 8 - - 7, , I 2: 1 rn , , . 8'' . -i . c-:I -+ -+ C.8 0 ZI r n 7 ; C.
r*
7 ci.~r c3 z- uy I z z I -i m 3 1 0 I,.T -. -1 CTI UI --I 7-x s -+ z CI TT
s : r - : c - : 1 7 1 CI r- .x m c,r~ rr.! u rr, o -+ ti c: 7 ' 1 f7 -I
-. L;. --I
I --I -4 C L ~r . 8 C - r- m T rn r t 7r rn r : t 7 1 rn -.cr, 2- c:, r- -ic: c:o
- +.
m u ~ t ' . ~ > o- r zi ~ : ~ r o ~ . s s . ~ I . I
E-I r n I CI r: 2 - 4 1 , . -4 -4 2 7 C:, LT>
rn ..d ,-. -+ ,z: r. -.- rn CT r crh ~8 XI '-n .x> -m -n z - T ( c? c -.i u? n~m I
.. m r
--I CJ WI -.I WI TJJ CI r r c; rn
--. o c.2 t-3 --0 XI
- --- cn I. rn a: rn C I S <: r c:
-
I 7, 7 3 I:. -. 5 : m 7:s 7 7 rr~ ~ r ' trrr r- LZ L- r 3 . T n - r r ' l r U t
.
C, - r , :I TI c':~ % ~lr c .
-. r r r- WI -
-- LC, --. -4 v"-8. UI .*: r.6 ..
II
7
-*
7 . 1
C
TI..
-. 2- I.
-4 I.
I z
- - 1 r
C- r-
r~
f'
c-7 rr1 r, C I
c-l I
- C- el I
r.. 2:.
u1 ~
-',I
; 1 - -.,
c-, c-:, r, -.- c, z I
... c-*<:
-
W, cz 3 1 r -4r-. rn c, 7, T u z m CP C I z:C? a r r ~
, . : r ; x C
2 2I WI -. P: r~7 . P; 2 . 2. n, 2;. -*
I'
r
C:;
C'
.'I.) Wl
rrq r.
x. ,-.I rm~ :c.
C. .c: CI I.. -1
- -
L IF-
1 - c-.
cn c-8
r ' m
m 2:
- . . . . - -.,
1
c:
: z:
z, rr: E I 7 -J: r . .-. 17
-.
r'l -*.-. I
- -. .
7 1 ?I' C' 3:1 T
I C' . 7.1 :t -, U S -4
1, --. mi X r. a:.- I -+ c:
:
t
c--
-.r
I
m't r
-I.'
-.b
'-1 C.-4
n
-
,-.I -.
I..,,...7
. : P
.. r , , - t
c
a
7> 7 - - , 2-: X! >.. c-9. C.!.7 --
>I. cr7r:r8 7.8 -r. :. - , I:
38 . s. LC1
::-.
-.,
-. - . - .
r n C. I... I
0:r .-." -
C' I :.: :*,
b
Ln
-I3 . .
I -.
r'I
,... : L.'
-. 7.I
-1 .-
=.Tr'l
a:,
Abacus Software COBOL 64
APPENDIX D
SAMPLE PROGRAMS
APPENDIX D
SAMPLE PROGRAMS
C.128REQUIRED
and C-64.READING
O ~ c . 9 r ~ ~ , ?
.m A #Lc<FnB"%cmL~co#.
Abacurmsol~warc
ANATOMY OF C - M In*'dof' su'd* lo TRICKS L ~ P FOR S C-6. c o ~ l a i o n01 BCILNCEIEYGIWEERINO ON c.84 ~ t ~ . ~ t ~ . G.~~*,I~.,..
. n.nd.aah
'- G'*nia, "O. "ma'. easy 10-"3slWrhn,~ual=dr=rssd sraphia, depth ,mr. lo mmwtsn
ssisws. l o p i o S t e p - b r n o p suds lo designmg am rnllnp
memow mKa, Com@"'mmma"'sd m p r a r s d data ,"put, anhanc.0 BASIC. chamslry, physics, b,a#ogy. aslronomy. your own adventure pa me^. wlm aln~malsd
ROM I ~ ~ ~ ~ O ~P 119.95
P ~ CP,M.
~ more,
.
2 7 5 ~ 119.95
~ - slanrono..~hn 110pp 119.95 adr.n#un pan* p.nsra~or. b o p p s?a.e5
handbook on
M A C H I N E L A N G U A G E C - 6 4 Learn ~ D ~ A N C E O
MACHIWE L A N G U A G E IOEAS F O R USE D N C.64 T b r n a s : olpur'm. WOpp Sl4.55
6510 COO. W ~ lastD progtarnr. Many ram- N,I mrsrsd a!rsrhsrs: .
"d.0 m n t r o s r . aulo e r ~ a n s . s . cdcula~mr,rsccp !,I. 6 t h
op'lon" D'n'e"" 'Or
p b s and sl8ngs lor coaplelo arromblor. ,nrerrup!s. I ~ clock,.
~ YO,~ rsai ~ Ilm.. ~ h%lr,
. dmac plannor. w ~ n d o r adrsrllslng,
monllor. L s8mulalor 20Opp 114.95 sn#nl*d BASIC, rrqr. I l O p p 114.95 other. includes lkllrps. 2OOpp S72.95 For ""4nConrsni'ncs.
conlalnsd aach o l our books Ihs.re wall-
GRAPHICS BOOK C-64 - b L relerencs C . ( 4 1 ~ ( ~ . 2 under
~ COMPILER BOOK C.64IC-128 All P u Ible on dlrkano I. saw you !#me smaclnq
C O V ~b-c
~ and a d r a n u d grwhtcs. ,,and Cornmodor., Eproncomp.,bl. p,,nl. m a d I o know about m m o , l s n : how l h s l !hem lrom I O U ~h a y b a d . ~ ~ n mns d f ~
P.O. Box 7219 Grand Raaids, MI49510 Telex 709-101 Phone (6161241-5510
= =
Call now for the name ol your nea;esl dlaler. Or to order directly by credit card, MC, AMEX of VISA call (616)
241-5510. Other software and books are available-Call and ask for your free catalog. Add $4.00 lor shipping
per order. Foreign orders add $10.00 per book. Dealer inquires welcome-1400+ nationwide.
~
For school or sollware NM just a mmpiler. but a
development. Learn C on Cornpllcruld sonwarc
Ikvclopmcnl S).sm mnplate syrlem lor d e w l o p
your Commodore wilh cur m- ing appl~cations in Pascal
deplh tulorial. Compib C pr- 9 wllh graphics and sound
grams in10 l a r l machine
language. C-128 verrim has
9 lealures. Extensive editor
$ . . + wilh search. redace. auto.
added fealurer: UnixW-llke renumber. eic. $andard J
~peralingsyslem: 60K RAM
W compiler lhal generates
disk lor la91 editing and lasl machine code. If you
compiling Linker combiner want l o learR Pascal or to
up to 10 modules: Combine
develop soltware using the
WL and C using CALL: 51K best tools available-SUPER
amilable lor d i e d code:
TWO slandard 110 libravs plus
J Pasc.1 is y w r first choice.
C-128 159.95
two addiliohi librarie-~1hl;ndionr ( i n . m s . safl. e l c l 6 20+ oraohlc
C-64 $50.05
mmmands (Itne, lill, d d , etc). cL128 f i 9 . 9 5
,
needs. Accepts dala lrom stock's future. Enter data from the keyboard or lrom online
CalcResult and MulliPlan linancial services. G 6 4 559.95
C.128 version has 3 X the
~ a r o l u i o nof the 'M version. P e r w ~Portfolio
l Mmagor
(YMI l o most prim.. Complete protfolio management system for the individual or
C-128 $39.95 professional investor. Easily manage your portfolios, obtain
C-64 $39.95 up-to-the-minute quotes and news, and perform selected
- analysis. Enter quotes manually or automatically through
Powerplan Warner Computer Syslems. G 6 4 $39.85
One of the most oowerful soreadsheets with intearaded
graphics. Includes menu or keyword selections, online help X~er
XPER is the lirst "exoerls v s t d for the C-128 and C-64. While
screens, field protection, windowing.trig functions and more.
ordinary data base'syst&ns are good for reproducing facts,
PowerGraph, the graphics package, 7s included to create
XPER can derive knowledge from a mountain o l facts and help
~ntegratedgraphs & charts. G 6 4 $39.95
you make experl decisions. Large capacity. Complete with
COBOL Compiler for the C-64 $39.95 editing and reporting. C.64 559.95
Ada Com~ilerfor the C-64 $39.95
~ i d e o ~ a Language
4c for the C-64 $39.95
A ~
-
~
P.O. Box 7219 Grand Rapids, MI 49510 Telex 709-101 Phone (616) 241-5510
C
-
Software
U S ~
Call now for the name of your nearest dealer. Or to order directly by credit card, MC, AMEX of VISA call
(616)
241-5510. Other software and books are available-Call and ask for your free catalog. Add $4.00 for shipping
per order. Foreign orders add $12.00 per item. Dealer inquires welcome-1400t nationwide.