U.S. patent number 3,610,902 [Application Number 04/765,326] was granted by the patent office on 1971-10-05 for electronic statistical calculator and display system.
This patent grant is currently assigned to International Business Machines Corporation. Invention is credited to Robert A. Rahenkamp, William R. Stewart, Jr..
United States Patent |
3,610,902 |
Rahenkamp , et al. |
October 5, 1971 |
ELECTRONIC STATISTICAL CALCULATOR AND DISPLAY SYSTEM
Abstract
An electronic display typing system for use by professional
accountants and statisticians. A cathode-ray display is alternately
utilized to display the contents of a worksheet storage containing
all of the entries and identifications normally placed by an
accountant on his worksheet and to display a scratch pad storage
which is utilized by the accountant for routine, off-the-worksheet
calculations. A movable marker symbol is displayed on the CRT
display and is utilized to address the data contents of the
worksheet storage. Placement of the marker symbol controls the
storage locations which receive data entered from a keyboard and
also is utilized to specify the data to be operated on during an
arithmetic operation. Continuous movement of the marker symbol
during an arithmetic operation effects repetition of the arithmetic
operation for each field of numbers addressed by the marker symbol.
A sequence of arithmetic operations and marker symbol motions can
be "learned" and later utilized as a stored program to thus control
a plurality of repetitive operations. The contents of the worksheet
storage may thereafter be automatically printed.
Inventors: |
Rahenkamp; Robert A.
(Lexington, KY), Stewart, Jr.; William R. (Lexington,
KY) |
Assignee: |
International Business Machines
Corporation (Armonk, NY)
|
Family
ID: |
25073257 |
Appl.
No.: |
04/765,326 |
Filed: |
October 7, 1968 |
Current U.S.
Class: |
708/174; 708/163;
705/30 |
Current CPC
Class: |
G06Q
40/12 (20131203); G06F 15/02 (20130101); G06F
3/04892 (20130101); G06F 40/18 (20200101) |
Current International
Class: |
G06F
17/24 (20060101); G06F 15/02 (20060101); G06F
3/023 (20060101); G06f 007/38 (); G06f
007/06 () |
Field of
Search: |
;235/156,152
;340/172.5,324 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Morrison; Malcolm A.
Assistant Examiner: Malzahn; David H.
Claims
What is claimed is:
1. A display calculator comprising:
a first plurality of registers each for receiving sequences of
coded signals representing numerical entries;
manually operable addressing means for addressing one of said first
plurality of registers;
a second plurality of registers each for receiving sequences of
coded signals representing numerical entries;
manually selectable register defining means for defining the field
length of each of said second plurality of registers;
display means responsive to signals stored in said first plurality
of registers when in a first mode of operation for displaying a
plurality of the numerical entries contained in said first
plurality of registers and responsive to signals stored in said
second plurality of registers when in a second mode of operation
for displaying a plurality of numerical entries stored in said
second plurality of registers;
visual marking means operatively connected to the display means in
said second mode of operation for visually selecting one of said
displayed plurality of numerical entries and for providing an
output signal identifying the register containing the selected
entry;
access means responsive to machine conditions designating an
arithmetic operation for accessing said register identified by the
visual marking means when in a second mode of operation and for
accessing the register identified by the manually operable
addressing means when in said first mode of operation;
arithmetic means responsive to said access means for performing an
arithmetic operation on each numerical entry contained in the
registers accessed by the accessing means;
manually selectable initiation means for supplying signals to the
access means and to the arithmetic means to designate the
arithmetic operation to be performed by the arithmetic means on the
numerical entry of the accessed registers.
2. The display calculator set forth in claim 1 further
comprising:
data entry means for supplying a sequence of coded signals
representative of a numerical entry;
said access means being further responsive to machine conditions
designating said first mode of operation for operably connecting
the data entry means to the register identified by the manually
operable addressing means and,
being further responsive to machine conditions designating said
second mode of operation for operably connecting the data entry
means to the register identified by the visual marking means.
3. The display calculator set forth in claim 1 further
comprising:
output means responsive to the coded signals stored in said second
plurality of registers and to output initiation means for recording
signals representative of said numerical entries onto permanent
media.
4. An electronic display calculator comprising:
storage means for receiving combinations of coded signals, each
said coded signal representing an alphabetic or numeric
character;
register defining means for defining a plurality of registers
within said storage means, each such register storing a numerical
entry consisting of one or more numeric characters,
said register defining means further defining a geometrical
arrangement of the numerical entries into a plurality of rows and
columns of numerical entries,
said register defining means further defining a geometrical
relationship between the rows and columns of numerical entries and
alphabetic characters uniquely related to each such row and column
of numerical entries;
display means responsive to the coded signals stored in said
storage means and to the register defining means for displaying a
portion of the plurality of numerical entries in said storage means
in said row and column relationship, said display means further
displaying the portion of alphabetic information corresponding to
each row and column of numerical entries thus displayed;
visual marking means operably coupled to the display means for
visually selecting a unique one of the displayed plurality of
numerical entries and for providing an output signal identifying
the register containing the selected entry;
boundary defining means for defining the registers displayed by
said display means; and
scan window shifting means responsive to the output signal of the
visual marking means and to the boundary defining means for
shifting the information displayed on said display means when a
predetermined relationship exists between a position of visual
marking means and the displayed information.
5. The electronic display calculator set forth in claim 4 further
comprising:
manually operable means for defining an arithmetic operation to be
performed;
arithmetic means responsive to the output signals of the visual
marking means and to the manually operable means for performing the
arithmetic operation defined by the manually operable means upon
the selected numerical entry contained in the identified
register.
6. An electronic data processing machine comprising:
a plurality of registers each adapted to receive sequences of coded
signals representing numerical entries;
manually selectable register defining means for defining the field
length of each register,
display means responsive to the coded signals for displaying a
plurality of said numerical entries;
visual marking means operably coupled to the display means for
visually selecting one of said displayed plurality of numerical
entries and for providing an output signal indicating the register
containing the selected entry;
access means responsive to machine conditions designating an
arithmetic operation to access said register identified by said
visual marking means;
arithmetic means responsive to said access means for performing an
arithmetic operation on the numerical entry contained in the
register accessed by said access means;
manually selectable initiation means for supplying signals to said
access means and to said arithmetic means to designate the
arithmetic operation to be performed by said arithmetic means upon
the numerical entry contained in said accessed register.
7. An electronic display calculator comprising:
data entry means for supplying a sequence of coded signals
representative of register defining instructions and representative
of numerical quantities,
storage means responsive to said data entry means for storing said
sequence of coded signals representative of numerical
quantities;
register defining means responsive to coded signals representative
of register defining instructions for defining a plurality of
registers within said storage means, each such register storing a
numerical entry consisting of one or more numerical quantities,
said register defining means further defining a geometrical
arrangement of said numerical entries in accordance with a
predetermined coordinate system;
display means responsive to the coded signals and to the register
defining means for displaying a plurality of said numerical entries
in said geometrical arrangement;
visual marking means operably coupled to the display means for
visually selecting one of said displayed plurality of numerical
entries and for providing an output signal identifying the register
containing the selected entry;
manually operable means for defining an arithmetic operation to be
performed;
arithmetic means responsive to said output signals of the visual
marking means and to the manually operable means for performing the
arithmetic operation defined by the manually operable means on the
selected numerical entry contained in the identified register.
8. The electronic display calculator set forth in claim 7 wherein
said storage means is responsive to the output signal of the visual
marking means for storing said coded signals in the identified
register.
9. The electronic display calculator set forth in claim 7 further
comprising:
alphabetic entry means for supplying a second sequence of coded
signals representative of alphabetic information;
said storage means further being responsive to said alphabetic
entry for storing combinations of coded signals, each such
combination representing an alphabetic character;
said register defining means further defining a geometrical
relationship of the numerical entries and the alphabetic character
representations;
said display means further being responsive to the signal
combinations representing the alphabetic characters and to the
register defining means for displaying said alphabetic characters
in said geometrical relationship;
said visual marking means further selecting a unique one of said
signal combinations representing an alphabetic character and for
providing an output signal identifying the storage location of said
signal combinations.
10. An electronic display calculator comprising:
storage means for storing combinations of coded signals, each such
combination representing a numerical quantity;
register defining means for defining a plurality of registers
within said storage means, each such register storing a numerical
entry consisting of one or more numerical quantities,
said register defining means further defining a geometrical
arrangement of said numerical entries in accordance with a
predetermined coordinate system;
display means responsive to the coded signals and to the register
defining means for displaying a plurality of said numerical entries
in said geometrical arrangement;
movable visual marking means operably coupled to the display means
for visually selecting one of said displayed plurality of numerical
entries and for providing an output signal identifying the register
containing the selected entry;
defining means for defining an arithmetic operation to be
performed;
arithmetic means responsive to said output signals of the visual
marking means and to the defining means for performing the
arithmetic operation defined by the defining means on the selected
numerical entry contained in the register identified by the output
signal of the visual marking means;
motion defining means responsive to the movement of the visual
marking means from a first visually selected numerical entry to a
second visually selected numerical entry for defining the movement
of the marking means in accordance with said predetermined
coordinate system and in accordance with the number of numerical
entries traversed during said movement;
program means responsive to the arithmetic means and to the motion
defining means for storing a representation of a sequence of visual
marking means motions and arithmetic operations in said storage
means;
sequencing means responsive to said programming means for
automatically repeating said sequence on additional numerical
entries contained in said storage means. pg,90
11. The electronic display calculator set forth in claim 10 further
comprising:
manually operable display initiation means for supplying output
signals for effecting the display of the result of the arithmetic
operations and
wherein said arithmetic means is responsive to the output signals
of the display initiation means for storing the results of the
arithmetic operation in coded form in the register identified by
the visual marking means when the display initiation means is
operated; and
wherein said program means is responsive to the operation of said
display initiation means to store a coded representation of said
operation in its proper sequential relationship with said sequence
of visual marking means motion and arithmetic operations.
12. The electronic display calculator set forth in claim 10 wherein
said geometric arrangement defined by the register defining means
consists of a plurality of rows and columns of numerical
entries;
wherein said coordinate system is a cartesian coordinate
system,
wherein said visual marking means being movable only in a
coordinate direction from one entry to an adjacent entry,
wherein said motion defining means provides an output signal for
each movement of the visual marking means from one entry to an a
adjacent entry in accordance with the direction of the motion
and,
wherein said program means stores a representation of each output
signal of said motion defining means.
13. A method of performing repetitive arithmetic operations by a
calculator wherein each of a plurality of numerical entries are
stored in corresponding data fields in coded form and visually
displayed on a display device and wherein the data fields
containing each such numerical entry can be uniquely identified to
the calculator with a visual identification means associated with
the display device and wherein the calculator has means associated
therewith for defining and initiating an arithmetic operation, said
calculator further having associated therewith actuable program
storage means for storing a sequence of the motions of said visual
identification means and of the arithmetic operations defined and
initiated and for effecting the automatic operation of the
calculator in accordance with the stored program comprising the
steps of:
actuating said program storage means to store said sequence;
visually identifying one of said displayed numerical entries with
said visual identification means, said identified numerical entry
to be utilized as a first arithmetic operand;
moving said visual identification means to a second one of said
displayed plurality of numerical entries;
visually identifying said second one of said displayed numerical
entries with said visual identification means, said numerical entry
to be utilized as a second arithmetic operand;
defining and initiating an arithmetic operation on said first and
said second operands;
moving said visual identification means to a third one of said
displayed plurality of entries;
actuating said program storage means to automatically operate said
calculator in accordance with said stored sequence of motions and
arithmetic operations.
Description
CROSS-REFERENCE TO RELATED APPLICATION
The following application is assigned the same assignee as the
present application.
U.S. Pat. application Ser. No. 623,053, filed Mar. 14, 1967,
entitled "Data System With Printing, Composing, Communications, and
Magnetic Card Processing Facilities," Robert A. Kolpek, inventor
now abandoned and continued as application Ser. No. 886,798, filed
Dec. 19, 1969.
BRIEF BACKGROUND OF INVENTION
1. Field
This invention relates to information processing and display
apparatus, and, more particularly, to an improved electronic
display device having computer facilities associated therewith to
rapidly effect entry and display of statistical data and to effect
rapid arithmetic calculations thereon.
2. Description of the Prior Art
The preparation of accounting and bookkeeping entries on a ledger
and the preparation of various forms of statistical information
often involves entering columns and rows of numerical information
along with their proper heading identifications onto a worksheet.
The rows and columns of entries are thereafter arithmetically
operated upon with the result of the calculation often being placed
in a further row or column. The steps of preparing the ledge
information or the statistical information in a final printed copy
format often entail: (1 ) an initial determination by the
professional auditor or statistician of the type of information
that will be required and the entry of corresponding headings and
item identifications onto a paper worksheet which is divided in
column and row format; (2) pencil entry of numerical information
onto the paper worksheet by the professional in column and row
form; (3) performing the steps of addition, subtraction,
multiplication, and/or division of the entries with other entries
or fixed factors and placing the resultant numbers in appropriate
rows and columns on the worksheet; (4) adding or deleting various
rows and/or columns of entries to the worksheet along with their
heading identifications; (5) numerically adding the rows and
columns of entries to obtain totals and cross-totals; (6)
manipulating various entries to compensate for roundoff errors and
to insure a proper result; (7) retotalizing and, if necessary,
inserting and/or deleting various rows and columns of information;
(8) typing a final copy by a secretary utilizing the pencilled
worksheet as a draft; (9) reading aloud the typed information to
another who reads the original pencilled worksheet to insure that
the typed information is accurate; (10) giving the typed worksheet
to another professional accountant, statistician, etc. for totaling
the columns to insure accuracy. If there is a discrepancy in the
entries which causes the total obtained by the second professional
to differ from that on the draft, the worksheets are checked to
determine where the error is. Each time an entry is changed, it is
necessary to retotalize the entire sheet to insure absolute
accuracy.
As can be seen from the above analysis, many steps are performed in
obtaining a final worksheet during which an error can be committed.
An entry can be inadvertently transposed to the wrong row or column
thereby necessitating its later removal, calculation can be
incorrectly performed or typing errors can be committed.
Additionally, it is often necessary to change entries and
information if the totals do not agree with some predetermined
standard or with a cross-total. Because of the many possibilities
for mistake and change, it is necessary for the professional to
expend a great amount of time in editing, revising, and checking
the information on the worksheet. Further, since it is often
desirous to present a final worksheet in printed form, it is
necessary to also spend a great amount of time in checking the
accuracy of the printed worksheet once the draft worksheet is
ascertained to be correct.
Prior art automatic data processors have been utilized to aid the
professional auditor or economist with the preparation of routine
jobs. That is, once a job is defined and recurs on a periodic
basis, a data processor can be programmed to accept entries and
place them in a correct position in its storage and thereafter
arithmetically manipulate the entries and produce resultant
information. The resultant information along with the entry
information can then automatically be totalized and checked for
accuracy by the data processor and caused to be printed out on a
high-speed printer. The cost of programming such a data processor
is often excessive and, further, it is necessary to reprogram the
data processor for each different type of job to be performed.
Since many auditing and statistical jobs do not recur periodically
and, further, since it is necessary for the professional auditors
or statisticians to exercise their professional judgment in
determining what entries should be made with each unique job, such
prior art data processing devices have only been utilized for high
volume periodically recurring jobs.
A more specific type of data processing approach has been to
utilize a display device which is intricately associated with the
data processor to effect entry and updating of numerical
information. For example, in those routine jobs where only certain
entries change on a periodic basis, the computer operator can cause
those entries to be displayed on a CRT display. Thereafter, the
computer operator causes a specific entry which is to be changed to
be addressed visually by moving a marker symbol associated with the
display adjacent to the desired entry. The operator then keys in
the new entry and thus effects the erasure of the old entry.
Thereafter, the new entry is utilized by the programmed data
processor for computing with the thus updated information. It is to
be noted, however, that the operator has no control over the
numerical operation to be performed on the data thus displayed and
only utilizes the display device to update the data previously
stored by the data processor. An example of such a computer system
is an IBM Model 360 system utilizing an IBM 2260 data
communications and display device, now in public use. A further
example of such a cathode-ray tube display device employing a
marker symbol for visual addressing is exemplified in U.S. Pat. No.
3,248,705, entitled "Automatic Editor" and assigned to the assignee
of the present invention.
Summarizing, the prior art teaches two basic approaches utilized by
professional auditors, statisticians, economists, financial
analysts, etc. in preparing worksheets or control sheets containing
a plurality of entries arranged in rows and columns which are
totaled and cross-totaled: a pencil and paper approach which is
both time consuming and error prone and an automatic data
processing approach which lends itself to utilization only for
periodically recurring routine jobs.
SUMMARY
In order to overcome the above noted shortcomings of the prior art
and to provide the professional statistician, accountant,
economist, etc. with a device which greatly reduces the chances of
making error and the time consumed in preparing a worksheet, the
present invention provides an information editing and display
device wherein information can readily be entered into the device
by a keyboard and automatically manipulated within the device under
the control of the professional in much the same manner that he
manipulates data in an adding machine. Once the information is so
entered and arithmetically manipulated, it may be totaled and
cross-totaled, changed, updated, deleted, and thereafter retotaled
under the control of the professional operating on the data
displayed by the display device in a manner analogous to operation
with a pencil on a paper worksheet. Thereafter, the information can
be automatically printed out in the exact manner that it appeared
on the display device thus eliminating the possibility of error in
generating a final copy.
The electronic statistical typing system of the present invention
consists of a cathode-ray tube (CRT) display unit, a secondary
media read/record unit, a combination alphabetic/10-key numeric
keyboard, a control keyboard, and an electronic storage, logic, and
arithmetic unit. By manipulating a marker symbol displayed on the
CRT display, the professional can specify the point on the display
and hence the location in the electronic storage wherein heading
information or numerical entries will be made. Thus, the
professional is able to key in columnar headings and entries which
are displayed so as to appear exactly as a worksheet appears.
Thereafter, by manipulating arithmetic control keys and the marker
symbol placement control keys, various entries can be
arithmetically manipulated with a resultant number placed as an
entry at a location designated by the placement of the marker
symbol.
Once all of the entries have been entered, totals and cross-totals
may rapidly be obtained by merely controlling the motion of the
marker symbol and signifying the arithmetic operation to be
performed.
An additional unique feature of the present invention is the
utilization of a second visual format which is alternately
displayed on the display device under the control of the machine
operator. The second visual format is utilized as a scratch pad in
order to rapidly effect off-the-worksheet calculations. Numerical
entries contained on the worksheet display can be rapidly
transferred to the scratch pad display and those located on the
scratch pad display can be rapidly transferred to a predesignated
location on the worksheet display by keyboard manipulation.
A characteristic of statistical and accounting work is repetition.
Operations performed on one set of factors are frequently repeated
on other sets. For example, every column on a worksheet may require
totaling, certain factors within a column may need to be
transferred to another column or a percentage may need to be
applied to every item in a column. A still further feature of the
present invention incorporates a unique programming device which
enables the system to "learn" sequences of operations performed
under operator control and to thereafter automatically perform
sequences on additional data. The operations thus "learned" and
later repeated include both arithmetic and control functions as
well as marker symbol motions.
As described above, once the displayed worksheet information has
been entered, arithmetically manipulated, totaled and
cross-totaled, and, if necessary, changed and retotaled, and
thereafter visually checked by the professional to insure that it
is exactly as he wants it, the information thus contained in the
electronic storage unit is outputted to a secondary media
reader/recorder or to a printer. The information on the secondary
media can thereafter be utilized to control a printer. Since the
final output is automatic, no mistakes can be made in transposing
the information from the displayed worksheet to the final printed
copy.
The foregoing and other features and advantages of the invention
will be apparent from the following more particular description of
the preferred embodiment of the invention as illustrated in the
accompanying drawings.
In the drawings:
FIG. 1 is a perspective sketch of a typical operator's console
which includes the display device, the function keyboard, and the
data keyboard.
FIG. 2 is a diagram of the keyboard of the display device of FIG.
1.
FIG. 3 is a schematic block diagram of the electronic statistical
typing system of the present invention.
FIG. 4 is a schematic block diagram of adjacent rows of the
worksheet storage unit.
FIG. 5 is a schematic representation of the worksheet storage
unit.
FIG. 6 is a block diagram of the horizontal cursor positioning
control logic.
FIG. 7 is a block diagram of the vertical cursor positioning
control logic.
FIG. 8 is a block diagram of the horizontal frame limit control
logic.
FIG. 9 is a block diagram of the vertical frame limit control
logic.
FIG. 10 is a block diagram of the horizontal storage display frame
control logic.
FIG. 11 is a schematic diagram of a program sequence within the
program storage unit.
DESCRIPTION
Referring now to the drawings, and more particularly to FIG. 1
thereof, a perspective sketch of a typical operator's console for
use in a system in accordance with the present invention is
depicted. The console 11 consists of a display device 13 and a
keyboard 15. As depicted, the display device is displaying
information 17 arranged in a column and row format. Since this
information is similar to that normally found on an accountant's or
statistician's worksheet, it will hereinafter be called a worksheet
display. The worksheet display is divided into three areas which
are delineated by broken lines: the columnar identification area
19, the row identification area 21, and the numerical entry area
23. The columnar identification area 19 contains alphabetic
information which identifies each of the columns of numeric
information 17 and the row identification area 21 contains
alphabetic information which identifies each row of numeric
information 17. The numerical entry area contains only numerical
symbols and punctuation signals associated with the display of
numerical symbols arranged in column and row format. The display
device 13 is also utilized to display a second and different format
of data hereinafter referred to as a scratch pad display. In this
mode of operation, only the numerical contents of certain data
registers are displayed in a singular column format. Thus, either a
worksheet display or a scratch pad display can be displayed on the
display device 13 under the control of selection keys located on
the keyboard 15 which are operated by the machine operator.
The keyboard 15 comprises three major groupings of keys: the
arithmetic and control keyboard 25, the alphabetic and numeric
keyboard 27, and the cursor control keyboard 29. The arithmetic and
control keys are utilized to define the mode of operation of the
device, specify the arithmetic operations to be performed on
displayed data, control certain display functions, and effect the
storage of, and control by, a stored program of selected routines.
The alphabetic and numeric keys are utilized to effect entry of
alphabetic and numeric information into the device for display and
calculation purposes. The cursor control keys are utilized by the
operator to designate a display location of entries displayed by
the display device 13 which are to thereafter be manipulated or to
be utilized during arithmetic operations. By operating the cursor
control keys 29, the operator controls the position of an
electronically generated marker symbol, cursor 31, on the display
device 13. The location of the cursor, as will hereinafter be
described, specifies the numerical entry to be operated upon.
Referring briefly now to FIG. 2 of the drawings, a detailed diagram
of the keyboard 15 of the console 11 of FIG. 1 is depicted. As
described above, there are three major keyboards: the arithmetic
and control keyboard 25, the alphabetic and numeric keyboard 27 and
the cursor control keyboard 29. The arithmetic and control keyboard
is further subdivided into the following keyboard groupings: a mode
control keyboard 33, an arithmetic control keyboard 35, a display
control keyboard 37, a scratch pad storage control keyboard 39, and
a program control keyboard 41. Additionally, three indicator lamps
43 are associated with the program advance keybutton on the program
control keyboard 41.
As described above, there are two basic modes of visual display:
worksheet display and scratch pad display. The operator selects the
mode of visual display by depressing a toggle switch 45 on the mode
control keyboard 33 thereby selecting one display or the other. It
should be noted at this time that it is also possible to
incorporate a second small CRT display to display only the contents
of the scratch pad storage. In such an event, both the worksheet
and scratch pad storages would be in full view of the operator at
all times. In the description which follows, reference will be made
to various operator manipulations of the keybuttons of the
arithmetic and control keyboard 25 and the cursor control keyboard
29, it being understood that the reader is referred to FIG. 2 for a
visual description of the keybutton being described.
Referring once again to FIG. 1 of the drawings, a typical worksheet
display is depicted as appearing on the display device 13. The
worksheet display is a visual presentation of the contents of a
portion of a worksheet electronic storage unit to be described
hereinafter with respect to FIG. 3. The worksheet storage unit
associated with the data processing apparatus to be described
contains all of the entries and identifications generally placed by
the accountant on his worksheet. Normally, an accountant's
worksheet is up to 24 inches wide and contains approximately 50
lines of information. While the entire worksheet can be stored in
the data processor, and while it would be desirable to display all
of the numerical entries thus stored at once, because of display
cost limitations, it is necessary to display only a portion of the
worksheet storage at any one time. Therefore, the operator must
control a scan "window" which is "moved" over the face of the
display in order to select desired work areas. The scan "window"
consists of approximately 16 lines, each line containing
approximately 70 characters.
The work area displayed within the scan "window" on the CRT display
13 is determined by the location of the cursor 31. In a given work
area, the cursor is free to move to any location. If an attempt is
made to move the cursor beyond the limits of that area, the work
area itself will shift thus presenting a new work area to the
operator. The work area shifts a row or column at a time once the
attempt is made to move the cursor beyond the limits of the area
displayed. Four display marks 47(a )- 47(d) delineate the area
within which the cursor 31 may move without effecting a shift of
the display area. For example; when the cursor 31 is moved to the
right of an imaginary line between the display marks 47(b) and
47(d), all of the information within the numerical entry area and
the column identification information is shifted to the left by one
column. Similarly, if the cursor 31 is moved in a downward
direction and an attempt is made to move it beyond the imaginary
line between the display marks 47(c) and 47(d), all of the
information within the numerical entry area 23 and the row
identification area 21 is shifted upward by one row. In this
manner, all the numerical entries can be displayed while still
displaying their proper identifications in the columnar
identification area 19 and the row identification area 21. That is,
the headings in the columnar and row identification areas which
correspond to the data displayed are always displayed.
As described above, the cursor 31 is the means used to address
specific entries in the electronic storage unit which are displayed
on the worksheet display. The cursor is an illuminated mark
appearing on the CRT display and generally takes the form of a
short line or underscore. It may also take the form of a circle
which surrounds the character, a bracket, a brightened character,
or any other such form as a "light gun" location which could be
utilized to visually indicate a unique relative position on the
surface of the CRT display 13. Movement of the cursor is under
operator control through the cursor control keyboard 29 on the
console keyboard 15. The cursor may be moved incrementally at low
or high speed or in multiple position steps.
Referring briefly to FIG. 2, four keybuttons 49 are used to move
the cursor vertically and horizontally. A light depression of one
of the keybuttons 49 will cause movement of the cursor through a
single row or horizontal position in the indicated direction.
Further depression of this keybutton causes high-speed motion of
the cursor in the indicated direction.
Movement of the cursor in multiple horizontal position steps is
effected upon the depression of the tab key located on the cursor
control keyboard 29. Depression of this key causes the cursor to
move to the right to a preset tab stop. In an enter mode of
operation, the cursor will stop in the units position of the
numerical field defined by the tab stop. In a calculate mode of
operation, the cursor will stop at a field control position to be
hereinafter defined. Depression of the reverse tab key will cause
the cursor to move to the left to the next preset tab stop and the
final location of the cursor is identical to that described above
with respect to the operation of the tab key. When in entry or
calculate mode, depression of the return key causes the cursor to
return to the left edge of the numerical entry area 23 of the
worksheet and to also simultaneously index the cursor down one
line. In replace mode, the cursor returns to the left edge of the
row identification area 21 and indexes. In those instances where
the left edge of the numerical entry area was previously not
displayed within the scan " window," the scan "window" will also
move to the leftmost position of the worksheet thus displaying the
leftmost column of entries contained in the numerical entry area of
storage. Depression of the elevate keybutton is similar to the
operation described above with respect to the return keybutton, but
causes the cursor to move upward to the top edge of the numerical
entry area of the worksheet in accordance with the mode selected.
The display area views the uppermost line of the worksheet
following the depression of this key.
Referring now once again to FIG. 1 of the drawings, in the
description which follows, it will be explained how the information
which makes up the worksheet display is keyed into a storage unit
for display on display device 13. Initially, an operation begins
with a blank display. All column headings and row identifications
are entered from the alphabetic and numeric keyboard or, as will
hereinafter be described, from a secondary media reader (not
shown). In order to enter column headings, the cursor 31 is first
located to the upper leftmost position upon the display. The
"replace" keybutton is depressed on the mode control keyboard 33
and thereafter, column headings and tabulation stops are entered by
typing and spacing with the keys on the alphabetic and numeric
keyboard 27. As each character is thus entered, the cursor
automatically spaces one position to the right awaiting the entry
of the next character. Tab stops are set at the cursor location
whenever the tab set key on the cursor control keyboard 29 is
depressed. The intervals between tab stops establish the field
lengths for data entries to be made at a later time as will be
described. Additional lines of columnar identification information
may similarly be placed beneath the first line of column
identification information. As also described heretofore, if the
worksheet width exceeds the display width, the displayed work area
advances to the right as typing and spacing continues. Upon
depressing the return key on the cursor control keyboard, the
cursor will return to the leftmost position of the worksheet
storage and index down one line.
After entering all column identification lines, the operator
locates the cursor to the left margin by utilizing the return key
or the cursor motion key and thereafter depresses the "end heading"
key on the cursor control keyboard. Depression of this key causes a
line to be displayed on the display 13 dividing the heading
information from the data information. It also internally stores an
indication within the storage unit of the device to control the
display of the heading information as the scan "window" is
thereafter shifted downward.
The location of the first tab stop similarly divides the row
identification area 21 from the numerical entry area 23. This
indication, stored in the storage unit, also controls the display
of appropriate row headings as the scan "window" is shifted. Each
row heading is similarly entered by simply typing on the alphabetic
and numeric keyboard and returning the cursor until all of the
lines have been identified. Open lines are placed on the worksheet
by depressing the cursor return key more than one time. Such
multiple depression effects the storage of a special symbol which
indicates that a blank line is to be displayed.
After the worksheet has thus been setup with column and row
identifications and tab stops which define the length of the
numerical fields in each column, numerical entries can be made by
depressing keybuttons on the numeric keyboard. The machine must
first be placed in the enter mode by depressing the "enter" button
on the mode control keyboard 33. This conditions the system to
receive data and controls the cursor 31, when tabbed, so that it
will be positioned at the units position of the tabbed-to field.
Thus, with the cursor located adjacent to the units position of the
desired field, a numerical entry is keyed on the numeric portion of
the alphabetic and numeric keyboard 27. The high order positions
are keyed first, the cursor remaining in the units position with
each keyed digit causing the previously keyed digits to shift to
the left both within the electronic storage unit and on the display
13. Upon completing an entry, the operator then locates the cursor
to the next entry field by utilizing the reverse tab and tab keys
and the keybuttons 49 on the cursor control keyboard. Replacement
of an incorrect entry can be effected in two ways: (a) the cursor
can be located in the units position of the field and thereafter
the "clear" key on the display control keyboard 37 is depressed
clearing all the positions of the field. A new entry is thereafter
made from the numeric keyboard. (b) The cursor is located at the
specific position requiring a change, the "replace" key on the mode
control keyboard is depressed, and the correct digit keyed on the
numeric keyboard. This substitutes the new digit for the incorrect
digit within the field and the cursor advances to the next position
to the right in case additional corrections are necessitated.
In order to make minus or credit entries, the "reverse sign" key on
the arithmetic control keyboard 35 is depressed following the
numeric keying and prior to moving the cursor. This assigns a
negative value to the quantity in the just-keyed field. If the
"reverse sign" key is depressed in error, a second depression of
the key will return the quantity to a positive value. The negative
sign appears to the right of the units position in the control
location.
In normal operation, a quantity of data entries will be made prior
to any arithmetic manipulations. Headings, identifications, input
data, and corrections will be spread before the operator for
review, reformating, rearrangement, or further correction. The
operator proceeds to the manipulation phase by depressing the
"calculate" keybutton on the mode control keyboard 33. During the
course of developing the worksheet, further line item
identification, headings, and data may have to be entered. This is
accomplished by again switching back to the "enter" and "replace"
mode of operation.
Thus far, the description has related to how the operator keys in
information, and manipulates the cursor 31 on a display device 13
to designate where information is to be entered. In the description
which follows, the arithmetic operations which may be performed on
the data thus stored and other functions including relocating data,
utilizing the displayed data in an off-the-worksheet complex
calculation, and effecting a unique series of repetitive
calculations automatically will be described.
Referring now to FIG. 3 of the drawings, a schematic block diagram
of the electronic statistical typing system of the present
invention is depicted. This device comprises a worksheet storage
unit 60 and a scratch pad storage unit 61. In the description which
follows, each of these storage units, along with various registers
will be described as performing certain functions. It is, of
course, understood by those skilled in the art that each such
storage unit thus described could be an arbitrarily designated
portion of a larger overall electronic storage unit.
The worksheet storage unit 60 is utilized to store the columnar and
row identification information along with the numerical entries
which are displayed on the display device 11 when in worksheet
mode. The information thus contained in the worksheet storage is in
the form of a coded representation, such as a modified binary coded
decimal, and is transmitted from the worksheet storage 60 to the
worksheet display control device 63. The worksheet display control
device 63 effects the display of that portion of the worksheet
storage 60 defined by the scan "window" which in turn is defined by
the cursor location. In a similar manner, the scratch pad display
control unit 65 controls the display of the data information stored
in coded form in the scratch pad storage unit 61. Both of the
display control units operate in a well-known manner to effect the
encoding of the information stored in coded form in the storage
units. The thus encoded information controls the blanking of a
raster associated with the CRT display to thus form visual
character patterns. Switch 45' representative of the toggle switch
45 on the mode control keyboard 33 effects the display of either
the worksheet storage 60 or the scratch pad storage 61 in
accordance with the switch position.
The worksheet storage unit 60 contains a number of rows of storage
corresponding to the maximum number of rows desired to be placed on
the worksheet and a number of columns of information corresponding
to the maximum number of columns desired on the worksheet. An
additional row of the information is provided for storing tab
stops. As described heretofore with respect to the display 13 of
FIG. 1, the information in the worksheet storage unit 60 which is
located to the right of the first tab stop and located under the
columnar identification information is the numerical entry area.
The numerical entry area of storage consists of a plurality of
fields, each such field containing an entry, factor, or result. The
location and length of each field is determined by tab stops set in
the tab stop row of the worksheet storage 60 and by the row of
storage in which the field is located. The field length is equal to
the number of storage positions between the tab stops and the
entire field length less one position can be utilized for the
storage of numerical information. A single position within each
field is reserved for algebraic signs and control.
Referring briefly now to FIG. 4 of the drawings, two typical
adjacent rows of storage in the numerical entry area and the tab
stop row of storage are schematically depicted. The first row 67
and the second row 68 each consists of a plurality of fields 69,
each such field being defined as the area between adjacent tab
stops 71 stored in the tab stop row 73 of storage. Each such field
69 consists of a numerical entry portion 75 and a sign and control
portion 77. The sign and control portion 77 is one character long
and functions as an address location during certain arithmetic
operations and also as the location wherein the algebraic sign of
the numerical entry is stored. As described above, whenever the
device is in enter mode, the cursor is positioned adjacent to the
low order position of the field. These cursor locations are
schematically depicted for each field of information 69 at 79. The
cursor is located adjacent to the sign and control portion 77
during calculate operations. These cursor locations for each field
are depicted at 80.
Referring once again to FIG. 3 of the drawings, the address and
cursor control unit 83 is responsive to the cursor control keyboard
29 and effects the addressing of the various fields of data within
the numerical entry area of the worksheet storage 60 as well as the
columnar and row identification areas of the worksheet storage 60.
That is, by positioning the cursor on the display 13, the operator
defines a display coordinate position which correlates with a
unique position in the worksheet storage unit 60. The corresponding
unique storage position in the worksheet storage 60 is thus
addressed by the address and cursor control unit 83 and, further,
this unit provides a signal to the worksheet display control unit
63 which causes the cursor to be displayed on the display 13 at the
position defined by the operator. Whenever the operator depresses
one of the cursor control keybuttons 49, for example, the cursor
address is caused to be incremented or decremented in accordance
with the button depressed and the position of the cursor is caused
to be changed on the display 13. As described above, when in
replace mode, the cursor addresses a single unique storage
position. When in enter mode, the cursor addresses the units
position of a field defined by previously set tab stops. When in
calculate mode, the cursor addresses the sign and control portion
of the field defined by the tab stops.
In the description which follows, the operation of the address and
cursor control unit 83 which defines the cursor position during the
various modes of operation and which further defines the scan
"window" to the worksheet display control unit 63 will be
described. Referring now to FIG. 5 of the drawings, a schematic
representation of the worksheet storage unit 60 of FIG. 3 is
depicted. Four areas of the storage unit, 85, 86, 87, and 88
represent that portion of the worksheet storage unit 60 which is
displayed. These areas are in turn defined by the horizontal and
vertical coordinate position of the cursor address depicted
schematically at 89, by the maximum number of vertical lines which
can be displayed, and by the maximum length of the display. As
depicted, each of the areas are defined by the boundaries of the
storage unit 60 and/or coordinate positions V.sub. 1, V.sub. 2,
V.sub.3, and H.sub.1, H.sub.2, and H.sub.3.
The V.sub.1 coordinate position is defined, as described
heretofore, by the depression of the heading keybutton when in
"replace" mode. The H.sub.1 coordinate position is defined by the
first tab stop. The V.sub.2 and V.sub.3 coordinate positions are
defined by the vertical coordinate position, v, of the cursor
address at 89. The number of rows of storage located between the
V.sub.2 and V.sub.3 coordinate positions is dependent upon the
maximum number of rows that can be displayed and upon the number of
rows of display located between the coordinate position V.sub.1 and
the upper boundary of the memory. In a similar manner, the H.sub.2
and H.sub.3 horizontal coordinate positions are defined by the
horizontal position of the cursor and by the maximum number of
columns which can be displayed and the number of columns which are
displayed between the left boundary of the memory and the H.sub.1
coordinate position. In the description which immediately follows,
the logic which controls the horizontal cursor position, h, and the
logic which defines the H.sub.1 and initial H.sub.2 coordinate
positions will be described.
Referring now to FIG. 6 of the drawings, the horizontal cursor
positioning control logic is depicted. The horizontal coordinate
position of the cursor is maintained in the counter 91. The counter
is reset to zero when the return key is depressed when in replace
mode by a gated signal from the AND gate 92 and is reset to the
contents of the H.sub.1 counter when the return key is depressed
when either in control mode or entry mode by a gated signal from
AND-gate 93.
When the "tab" or the "reverse tab" key is depressed, the counter
91 is set with a coordinate position of a tab stop which is stored
in the tab stop storage unit 94. This signal is gated under the
control of OR-gate 95 and the AND-gate 96. The number within the
counter 91 is incremented by 1 when the cursor is advanced one
position to the right and decremented by 1 when the cursor is
advanced by one position to the left. AND-gates 97 and 98 supply a
+ 1 and a - 1 output respectively whenever the cursor right and
cursor left keybuttons are depressed. These signals are applied to
OR-gate 99 and thence to the counter 91.
In order to define the tab stops stored in the tab stop storage
unit 94, it will be recalled tat the operator places the device in
replace mode and thereafter positions the cursor to the location of
the desired tab stop and depresses the "set tab" keybutton. At this
time, AND-gate 101 gates the contents of the counter 91 to the tab
stop storage unit 94. The tab stop storage unit 94 consists of a
plurality of discrete storage positions, each adapted to store a
single horizontal position. Each of the discrete storage positions
are addressed by the tab address counter 102 which is initially
reset to address the first storage position when the "return" key
is depressed. Thereafter, each depression of the set tab key gates
OR-gate 103 whose output is utilized to gate the AND-gate 104. The
output of the AND-gate 104 is provided to the OR-gate 105 which in
turn causes the tab address counter 102 to increment by + 1. In
this manner, the tab address counter increments by + 1 each time a
tab stop is set so that the next tab stop will be stored in a new
storage position of the tab stop storage unit 94.
As described above, the AND-gate 96 gates the contents of the
addressed storage position within the tab storage unit 94 into the
counter 91 whenever the tab or reverse tab keys are depressed.
Depression of the tab key gates the OR-gate 103 which causes the
tab address counter 102 to advance in a manner similar to that
described above with respect to the operation of the set tab key.
Depression of the reverse tab key causes the AND-gate 106 to
provide an output signal which causes the tab address counter to be
decremented. In this manner, the tab address counter 102 causes the
proper tab stop positions to be gated into the counter 91.
As has been described, when in control mode, the control position
of the field defined by the tab stop is addressed. Since the
control position is one position to the left of the tab position,
it is necessary to decrement the counter 91 by 1 after a tab
operation when in control mode. Thus, the AND-gate 107 provides an
output signal after a tab or reverse tab operation when in control
mode which gates the OR-gate 108 to provide a - 1 signal to the
OR-gate 99 whose output causes the counter 91 to decrement by 1. In
a similar manner, logic (not shown) causes the counter 91 to
decrement by two positions when in enter mode.
When defining the first tab stop, the output of the AND-gate 101 is
supplied to the AND-gate 109 which is also gated by the output of
the first tab latch 110. Since the first tab latch has not yet been
set, the output of the first tab latch 110 gates the AND-gate 109
so that the H.sub.1 counter 111 and the H.sub.2 counter 112 are
both set with the contents of the counter 91 which corresponds to
the horizontal position of the first tab stop. Thereafter, the
first tab latch 110 is set thus degating the AND-gate 109.
Referring now to FIG. 7 of the drawings, the vertical cursor
positioning control logic is depicted. This logic is similar to the
horizontal cursor positioning control logic described with respect
to FIG. 6 and differs only in that there are no means provided for
vertical tabulation. A counter 115 is provided to maintain the
vertical coordinate position of the cursor. This counter is reset
to zero under the control of AND-gate 116 when in replace mode and
when the elevate key is depressed. The counter is reset to the
V.sub.1 coordinate position under the control of AND-gate 117 when
the elevate key is depressed when either in control mode or enter
mode. The cursor is decremented by 1 when the cursor up key is
depressed and incremented by 1 when the cursor down key is
depressed as controlled by AND-gates 118 and 119 and the OR-gate
120. Both the V.sub.1 counter 121 and the V.sub.2 counter 122 are
gated with the contents of the counter 115 by AND circuit 123 when
in replace mode and when the "end heading" key is depressed.
Referring now to FIG. 8 of the drawings, the horizontal frame limit
control logic is depicted. This logic controls the horizontal
boundaries of the scan "window" as defined in FIG. 5 of the
drawings. Three counters, the H.sub.1 counter 111, the H.sub.2
counter 112, and the H.sub.3 counter 125 are utilized to define the
H.sub.1, H.sub.2, and H.sub.3 coordinate positions as defined in
FIG. 5. It has been described how the H.sub.1 counter 111 is
initially set with a value corresponding to the first tab stop and
how the H.sub.2 counter 112 is initially set with the same value.
Thereafter, whenever the return key is depressed, AND-gate 126
provides an output signal to the OR-gate 127 which causes the
H.sub.2 counter 112 to be set with the value of the H.sub.1
counter. Depression of the return key also causes the AND-gate 128
to provide an output signal which causes the H.sub.3 counter 125 to
be set with a number corresponding to the maximum number of
horizontal positions that can be displayed. Thus, when the "return"
key is depressed, the H.sub.1 counter 111 and the H.sub.2 counter
112 each contain a value corresponding to the first tab stop, and
the H.sub.3 counter contains a value corresponding to the maximum
number of horizontal positions that can be displayed within a
line.
Thereafter, whenever the cursor is advanced to the right, the value
in the H.sub.3 counter 125 is compared with the horizontal position
of the cursor which is supplied by the counter 91 by the compare
circuit 129. When the value of the H.sub.3 counter is less than or
equal to the horizontal coordinate position of the cursor, the scan
"window" must be advanced to the right. At this time, latch 130 is
set and the output of the latch is utilized to gate the AND-gate
131. The output of the AND-gate 131 supplies a + 1 signal to the
OR-gate 132 which in turn causes the H.sub.2 counter 112 and the
H.sub.3 counter 125 to increment by + 1. This operation continues
until the horizontal coordinate position of the cursor is less than
the count in the H.sub.3 counter 125. At this time, the compare
circuit 129 provides an output signal to reset the latch 130.
Once the scan "window" has been shifted to the right by advancing
the H.sub.2 and H.sub.3 counters, the operator may thereafter cause
the scan "window" to be shifted to the left by causing the cursor
to move to the left beyond the value stored in the H.sub.2 counter.
This event can occur either by depressing the reverse tab key or by
depressing the cursor left keybutton. Thus, whenever the horizontal
position of the cursor as supplied by counter 91 is less than or
equal to the count of the H.sub.2 counter 112, compare circuit 134
supplies an output signal which sets the latch 135. The output of
the latch 135 is gated with a - 1 signal by the AND-gate 136. The
output of the AND-gate 136 is gated through the OR-gate 132 and
decrements the H.sub.2 counter 112 and the H.sub.3 counter 125.
When the horizontal position of the cursor is greater than the
count contained in the H.sub.2 counter 112, the compare circuit 134
supplies a reset signal to the latch 135.
As described above, depression of the reverse tab key causing the
cursor to move to the left to a coordinate position located to the
left of the coordinate position defined by the H.sub.2 counter 112
causes the H.sub.2 counter to be decremented. Since the reverse tab
movement of the cursor when in the calculate mode or the entry mode
causes the cursor to address the control position or the units
position respectively of a field, and since decrementing of the
H.sub.2 counter 112 ceases whenever the count in the H.sub.2
counter is less than the cursor position, only the control
positions of the tabbed-to field would be within the boundary
defined by the H.sub.2 counter. In order to insure that the entire
tabbed-to field is displayed, a second reverse tab operation is
automatically performed so that the cursor is then located adjacent
to the control position of the field to the left of the tabbed-to
field. The H.sub.2 counter is then set with this value which thus
insures the display of the entire tabbed-to field and, thereafter,
the cursor is tabbed in the forward direction back to the desired
field. Thus, whenever the compare circuit 134 provides an output
signal indicating that the horizontal position of the cursor is
less than or equal to the count in the H.sub.2 counter, and if a
reverse tab operation has just occurred, the AND-gate 137 is gated
supplying an output signal to the AND-gate 138, the output of which
causes a reverse tab operation to occur. Both the AND-gate 137 and
the AND-gate 138 are gated with the output signal of the reverse
tab latch 139. This latch indicates that a reverse tab had not
previously been automatically effected. The output signal of the
AND-gate 137 is delayed by delay 140 and causes the reverse tab
latch to set thereby blocking further automatic reverse
tabulation.
The reverse tabulation effected by the AND-gate 138 causes the
cursor horizontal position to correspond to the control position of
the field immediately to the left of the tabbed-to field. This new
horizontal position is thereafter supplied by the counter 91 to the
compare circuit 134 which causes the H.sub.2 counter to continue to
decrement until its count is equal to that of the counter 91. At
this time, the compare circuit 134 supplies an output signal to the
AND-gate 141 which is also gated with the now on output of the
reverse tab latch 139. The output of the AND-gate 141 causes a
tabulation to be effected thereby causing the cursor horizontal
position to move to the control position of the tabbed-to field.
The output signal of the AND-gate 141 is also utilized to reset the
reverse tab latch 139 to its off state. The latch circuit 135 is
also reset since the horizontal coordinate position of the cursor
is greater than the count of the H.sub.2 counter 112. At this time,
the H.sub.2 counter contains a value corresponding to the control
position of the tabbed-to field.
The above description has related to the horizontal frame limit
control logic. The vertical frame limit control logic is depicted
in FIG. 9 of the drawings and is similar in operation to the
horizontal frame limit control logic except that the additional
logic required for tabulation and reverse tabulation is not needed
in the vertical logic since vertical tabulation is not provided. It
has been described with respect to FIG. 7 of the drawings how the
V.sub.1 and V.sub.2 counters 121 and 122 are initially set with the
heading line coordinate position. Whenever the "elevate" key is
thereafter depressed, AND-gate 144 provides an output signal to the
OR-gate 145 which in turn gates the V.sub.2 counter 122 with the
contents of the V.sub.1 counter 121. Additionally, whenever the
"elevate" key is depressed, AND-gate 146 provides an output signal
corresponding to the maximum number of vertical lines that can be
displayed which is gated into the V.sub.3 counter 147. Thereafter,
whenever the vertical coordinate position of the cursor as defined
by the counter 115 is greater than the count in the V.sub.3 counter
147, compare circuit 148 provides an output signal to the latch
149. The output of the latch 149 is then gated by the AND-gate 150
with the +1 line causing a +1 signal to be applied to the OR-gate
151 which in turn causes the V.sub.2 counter 122 and the V.sub.3
counter 147 to increment by +1. This operation continues until the
count in the V.sub.3 counter is greater than the vertical
coordinate position of the cursor at which time the latch 149 is
reset.
In a similar manner, when the cursor is moved from the bottom of
the page toward the top of the page, the compare circuit 152
provides an output signal whenever the cursor coordinate position
is less than the count of the V.sub.2 counter. This signal sets the
latch 153 which in turn provides an output to the AND-gate 154. The
AND-gate 154 is also gated with the -1 line so as to provide a -1
signal to the OR-gate 151 which causes the V.sub.2 counter 122 and
the V.sub.3 counter 147 to decrement. The decrementing continues
until the vertical coordinate position is greater than the count
contained in the V.sub.2 counter.
Referring once again to FIG. 5 of the drawings, the logic utilized
to control the horizontal and vertical positioning of the cursor
address 89 has been described. Additionally, the logic utilized to
define the V.sub.1, V.sub.2, and V.sub.3 vertical coordinate
positions as well as the H.sub.1, H.sub.2, and H.sub.3 horizontal
coordinate positions in terms of the cursor coordinate position 89
and in terms of the maximum area displayed has been described. In
the description which follows, the logic utilized to effect the
display of the areas 85, 86, 87, and 88 as a continuous display,
ignoring the contents of adjacent areas within the storage unit 60
will be described.
Referring now to FIG. 10 of the drawings, the horizontal storage
display frame control logic is depicted. The horizontal storage
location of the character to be displayed is contained in the
horizontal display storage address register 158. At the start of a
display operation, this register is reset to a value corresponding
to the left-hand coordinate position of the storage unit.
Thereafter, its value is caused to be incremented by 1 with each
clock pulse under the control of the AND-gate 159. When the value
thus contained in the horizontal display storage address register
158 corresponds to the value in the H.sub.1 counter 111, the
compare circuit 160 provides an output signal. This circuit is
gated with the output signal of the horizontal display storage
address register 158 and with the output signal of the OR-gate 161.
The OR-gate 161 is in turn gated with an output signal from either
the AND-gate 62 or the AND-gate 163. The AND-gate 162 provides an
output signal corresponding to the value contained in the H.sub.1
counter 111 whenever the horizontal sweep flip-flop 164 provides an
output on its "A" output line and the AND-gate 163 provides an
output signal corresponding to the contents of the H.sub.3 counter
125 whenever the horizontal sweep flip-flop circuit 164 provides an
output signal on its "B" output line. Since the horizontal sweep
flip-flop 164 initially provides an output signal on its "A" output
line, the contents of the horizontal display storage address
register 158 are compared with the contents of the H.sub.1 counter
111 by compare circuit 160. When the contents of the horizontal
display storage address register equal the value in the H.sub.1
counter 111, the compare circuit provides an output signal which
gates the AND-gate 165. This gate is also gated with the "A" output
line of the horizontal sweep flip-flop circuit 164 and with the
contents of the H.sub.2 counter 112. Thus, when the contents of the
horizontal display storage address register are equal to the
contents of the H.sub.1 counter 111, the horizontal display storage
address register 158 is set with the contents of the H.sub.2
counter 112. Additionally, the output of the compare circuit 160 is
delayed by delay 166 and thereafter causes the horizontal sweep
flip-flop circuit 164 to change state.
Thereafter, the contents of the horizontal display storage address
register 158 are compared with the contents of the H.sub.3 counter
125 by compare circuit 160 and, when equal to the contents of the
H.sub.3 counter 125, the compare circuit 160 provides an output
signal to the AND-gate 167. The AND-gate 167 is also gated by the
"B" output line of the horizontal sweep flip-flop circuit 164 and
by a reset line to reset the horizontal display storage address
register 158 to zero. The output signal of the compare circuit 160
is again delayed by the delay 166 to cause the horizontal sweep
flip-flop circuit 164 to again change states to its initial
condition.
In the above manner, the horizontal display storage address
register starts at the leftmost coordinate position of the storage
unit and thereafter advances by one until its count is equal to the
count of the H.sub.1 counter 111. Thereafter, the contents of the
H.sub.2 counter 112 are gated into the horizontal display storage
address register and it continues to increment by one until equal
to the contents of the H.sub.3 counter 125. Thereafter, it is again
reset to zero and the operation continues. In this manner, only the
contents of the storage unit located between the left-hand boundary
of the storage unit and the H.sub.1 coordinate position and the
contents of the storage unit located between the H.sub.2 coordinate
position and the H.sub.3 coordinate position are displayed.
In order to display the coordinate position of the cursor, the
contents of the horizontal display storage address register 158 are
gated to the compare circuit 169 which compares the current address
of the horizontal display storage address register with the
contents of the counter 91 containing the cursor horizontal
coordinate position. When the comparison is equal, the compare
circuit 169 provides an output signal to the horizontal display
control unit 63(a) to effect the display of the cursor.
The vertical storage display frame control logic is identical to
the horizontal storage display frame control logic depicted in FIG.
10, the V.sub.1 counter 121, the V.sub.2 counter 122, and the
V.sub.3 counter 147 corresponding to the H.sub.1 counter 111, the
H.sub.2 counter 112, and the H.sub.3 counter 125 respectively. The
only further difference is that the vertical display storage
address register is incremented by +1 with each reset of the
horizontal display storage address register.
Referring once again to FIG. 3 of the drawings, the operation of
the address and cursor control unit 83 has been described. The
following description relates to the data handling and arithmetic
operations of the device when in the worksheet mode of
operation.
Three special storage registers are associated with the worksheet
storage unit 60. These are: the memory register 185, the entry
register 187, and the result register 189. When the toggle switch
45' is in its worksheet display position, the memory register 185
functions to hold the last alphabetic data character or the last
numerical field read into or from the worksheet storage unit 60. As
will be described, the numerical field or alphabetic letter can be
caused to be displayed and thus stored in more than one location by
manipulating keybuttons on the cursor control keyboard 29 to define
the desired storage locations and thereafter depressing the
"display" keybutton on the arithmetic and control keyboard 25. The
entry register 187 is loaded only from the numeric keys of the
alphabetic and numeric keyboard 27 and, as will be described,
retains the contents of a numerical field until the start of a new
keyboard entry. The result register 189 is utilized to temporarily
store the result of all arithmetic operations except division. When
dividing, the result register holds the remainder and the store 1
register 191 of the scratch pad storage unit 61 holds the quotient.
Additionally, the result register is utilized when transferring
information from the worksheet storage 60 to the scratch pad
storage 61 under the control of the "store" key as will be
described. The result register is cleared by depressing the "result
display" key on the function control keyboard 25 which effects the
transfer of the numerical field thus stored to the position defined
by the cursor in the worksheet storage unit 60. Additionally, the
result register, may be cleared if the cursor is in the control
position of a numeric field and the "clear" key on the function
control keyboard 25 is depressed. If the cursor is in the units
position of a numerical field, the clear key clears that field and
has no effect on the contents of the result register 189. The
contents of the result register are utilized as the multiplicand or
dividend by depressing a multiply or divide key on the arithmetic
and control keyboard 25 immediately following another arithmetic
operation.
An arithmetic and logic unit 193 is responsive to the arithmetic
and control keyboard 25 to effect various arithmetic and logical
manipulations of the data contained in the scratch pad storage unit
61, the entry register 187, and the result register 189 and to
thereafter effect the storage of the resultant number in the
worksheet storage unit 60, the result register 189, the entry
register 187, or the scratch pad storage unit 61. The arithmetic
and logic unit 193 controls the sequential closure of various
switches 194 to effect the transfer of data as will be described.
It is understood by those skilled in the art that the switches
could be the internal programmed operations of an automatic data
processor. Additionally, the construction of the arithmetic
circuits are well known in the art and will not be described in
detail.
The arithmetic functions performed by the arithmetic and logic unit
193 when in the worksheet display mode include addition,
subtraction, multiplication, and division. Addition is effected
when the operator depresses the add key on the arithmetic and
control keyboard 25 causing the contents of the numerical field in
the worksheet storage 60 addressed by the address and cursor
control unit 83 (hereinafter referred to as the cursor address) to
be gated to the memory register 185, then to the entry register
187, and thereafter to be added to the contents of the result
register 189. If an entry had been previously keyed on the
keyboard, the contents of the entry register 187 will be added to
the contents of the result register 189 in lieu of the cursor
address field. When the operator depresses the subtract key on the
keyboard 25, the operation is the same as that described above with
respect to addition except that the contents of the entry register
are subtracted from the contents of the result register 189.
Depression of the multiply key on the keyboard causes the contents
of the field addressed by the cursor to transfer to the memory
register 185 and thence to the result register to form the
multiplicand and further condition the arithmetic circuits for
multiplication. Thereafter, the cursor is positioned to the control
position of the numerical field which will be the multiplier and
the equal key on the keyboard is depressed. This causes the
contents of the cursor address field to transfer to the memory
register 185 and thence to the entry register 187. Thereafter, the
contents of the entry register are multiplied with the contents of
the result register by the arithmetic and logic unit 193 and the
result of the multiplication is stored in the result register 189.
If the multiplier were keyed, the keyed number would be stored in
the entry register 187 and depression of the equal key would effect
the multiplication of the contents of the entry register with the
contents of the result register.
Following an add, subtract, or multiply operation, the cursor is
positioned to the location where it is desirous to store the result
of the calculation and the "result display" key is depressed.
Depression of the "result display" key effects the transfer of the
numerical field contained in the result register 189 to the memory
register 185 and thence to the numerical field defined by the
cursor in the worksheet storage 60.
Since the result of add, subtract, and multiply operations is
stored in the result register 189, and since it is often desirous
to utilize that number as a multiplicand in a sequence of
arithmetic operations, depression of the multiply key immediately
following an addition, subtraction, or store (to be defined
hereinafter) operation will cause the existing contents of the
result register to be retained as the multiplicand in lieu of the
cursor addressed field. Additionally, during multiplication
operations, it is not necessary to rekey the multiply key to
initiate each multiplication after the first multiplication. Thus,
it is only necessary upon the second multiplication to define the
multiplier, since depression of the equal key effects the
multiplication of the multiplier thus defined with the contents of
the result register. However, in a chain of multiplications, if it
is desirous to display the intermediate products, depression of the
result display key clears the result register thus necessitating
the further depression of the multiply key after a result display
operation to effect transfer of the numerical information from the
cursor address field (where the intermediate is displayed) back to
the result register 189.
Depression of the divide key on the keyboard causes the contents of
the field addressed by the cursor to transfer to the result
register to form a dividend and conditions the arithmetic circuits
for a subsequent division operation. In a similar manner to the
multiplication operation described above, if the divide key
operation immediately follows an addition, subtraction, or store
operation, the contents of the field addressed by the cursor will
be ignored and the existing contents of the result register 189
will be retained as the dividend. Further, if an entry has been
keyed on the keyboard, that entry will be transferred from the
entry register 187 to the result register 189 when the divide key
is depressed. Thereafter, the cursor is positioned to the field
containing the divisor or the divisor is keyed on the keyboard and
the equal key is depressed in a manner analogous to that described
with respect to multiplication. The quotient of the divide
operation is stored in the store 1 register 191 of the scratch pad
storage unit 61 and the remainder is stored in the result register
189. Thereafter, depression of the result display key causes the
quotient to be read from the store 1 register and stored in the
cursor addressed field. The store 1 register is not cleared during
this operation. A second depression of the result display key reads
the remainder from the result register and clears it.
In addition to performing various arithmetic functions described
above, the arithmetic and logic unit 193 also effects various
logical and housekeeping functions under the control of the
arithmetic and control keys 25. As described above, depression of
the "clear" key causes the field addressed by the cursor in the
worksheet storage unit 60 to be cleared if the cursor is in the
units position of such a field. However, if the cursor is in the
control position of the field, the result register 189 is
cleared.
Also, as described above, depression of the "result display" key
causes the contents of the result register to be transferred to the
worksheet storage unit 60 and be displayed on the display device 13
at the field location indicated by the cursor. During this
operation, the result register is cleared and any previous contents
of the numerical field defined by the cursor in the worksheet
storage 60 are replaced by the new contents. It should be noted
that the store 1 register 191 is addressed in lieu of the result
register 189 immediately following a divide operation. A second
depression of the result display key following a divide operation
causes the contents of the result register to be transferred. Two
additional keys are provided on the arithmetic control keyboard 25:
"result display +" and "result display -." Depression of one of
these keys effects the same operation as that described above with
respect to the result display key except that the operation occurs
only if the sign of the number contained in the result register
corresponds with the sign of the depressed keybutton.
A transfer operation is provided to eliminate rekeying of fields
already displayed. The field to be transferred to an additional
location is first addressed by locating the cursor at the cursor
control position. The operator thereafter depresses the "transfer"
key and the contents of the field thus addressed are transferred to
the memory register 185 and rewritten back into the addressed
location. The cursor is thereafter located at the control position
of the field to which the data is to be transferred and the
"display" key is depressed to effect transfer of data from the
memory register 185 to the addressed location in the worksheet
storage unit 60. Since the memory register 185 retains the
numerical entry which was last read into or from the storage unit
60, the cursor may thereafter be located adjacent to the control
position of a still further field and thereafter the display key be
depressed to thus display and store the value in any number of
other additional storage locations as desired.
In certain applications, it is necessary to perform complex
arithmetic operations on a displayed number. This may be done in
the scratch pad storage 61 as will be described hereinafter. To
place a number located in the worksheet storage unit 60 in the
scratch pad storage unit 61, the operator locates the cursor to the
desired field, and thereafter depresses the transfer key to locate
the desired number in the memory register 185. Next, the operator
depresses the "store" key to effect the transfer of the number to
the result register or depresses the store 1 key to effect transfer
of the number to the store 1 register 191. In a similar manner the
store 2, store 3, and store 4 keys effect storage of the addressed
number in the corresponding registers of the scratch pad storage
unit 61.
Two additional control keys, the "underscore" key and the "double
underscore" key are located on the arithmetic and control keyboard
25. Depression of the underscore key with the cursor located in the
control position of a numerical field will cause a single
underscore to appear above the field. This underscore is generated
by the arithmetic and logic unit 193 and is effected by setting a
special flag bit associated with each character position of the
addressed numerical field in the worksheet storage 60. Setting of
this bit effects the display of an underscore when the character is
decoded by the worksheet display control unit 63. Depression of the
double underscore key effects the display of a double underscore
beneath the addressed numerical field and is effected by setting a
second row of flag bits associated with each character position in
the addressed field.
Summarizing, it has been described how numerical data is entered
into the worksheet storage unit 60 for display on the display
device 13. Variable length fields for the data are initially
defined by the operator and thereafter, numerical entries are made
within the thus defined fields. Selection of the field wherein a
numerical entry is to be made is effected by manipulating cursor
control keys on the cursor control keyboard 29 which define
corresponding addresses in the worksheet storage unit 60 and by
thereafter keying the numerical entry. The numerical fields thus
entered in the worksheet storage unit 60 may be arithmetically
manipulated by the arithmetic and logic unit 193 and caused to be
either temporarily stored in the result register 189 or permanently
stored in a selected location of the worksheet storage unit 60.
Often it is desirous to perform complex arithmetic operations with
the various factors utilized in such operations being continuously
displayed before the operator. Since many of these factors are
intermediate in nature, it is desirous to store only the final
result of the calculation in the worksheet storage unit 60. A
second mode of system operation is thus provided which enables
complex calculations to be readily performed without disturbing the
entries contained in the worksheet storage unit 60. This mode of
operation is called the scratch pad mode of system operation and
will be described in the description which follows.
When the operator desires to perform an off-the-worksheet
calculation, factors located in the worksheet storage unit 60 which
are to be utilized during the calculation may be transferred from
the worksheet storage unit 60 to the scratch pad storage unit 61 by
locating the cursor adjacent to the control position of the
numerical field desired to be transferred, depressing the
"transfer" keybutton, and thereafter depressing one of the "store"
keybuttons as described heretofore. Once all of the desired factors
are thus transferred, the operator switches the toggle switch 45 on
the arithmetic and control keyboard thereby effecting transfer of
the switch 45' which effects the display of the scratch pad storage
unit 61 as controlled by the scratch pad storage unit 61 as
controlled by the scratch pad display control unit 65 on the
display device 13. The display which appears on the face of the
display device 13 is in column format with the contents of each of
the registers of the scratch pad display unit 61 being displayed,
one under another. Additionally, the contents of the result
register 189 and of the entry register 187 are displayed under the
display of the contents of the scratch pad storage unit 61. The
result of any calculation performed in the scratch pad storage mode
may be transferred to the worksheet storage unit 60 by utilizing
the "result display" key. In order to effect such a transfer, the
device must be returned to the worksheet display mode, the desired
location addressed by the cursor, and the result display key
depressed.
The scratch pad storage unit contains four registers, designated as
store 1 register 191, store 2 register 195, store 3 register 196,
and store 4 register 197. Each of the store registers can be
addressed in two ways: by depressing the corresponding storage
address keys labeled "Store 1-Store 4" on the scratch pad storage
control keyboard 39 of FIG. 2, or by depressing the "Store" key on
the same keyboard. Numerical entries are loaded into a store
register from the worksheet storage unit 60 while the switch 45' is
transferred to the worksheet mode of operation. The address keys
are utilized in conjunction with the transfer function previously
described. Additionally, numerical entries can be loaded into the
store registers from either the result register 189 or the entry
register 187 under the control of the "Store" key while the switch
45' is transferred to the scratch pad mode of operation. Depression
of the "Store" key following a keyboard entry into the entry
register 187 effects the transfer of the keyed data from the entry
register 187 to the store 1 register 191. Any number previously
located in the store 1 register 191 is transferred to the store 2
register 195 whose contents are transferred to the store 3 register
196 and so on. The numerical value keyed into the entry register
also remains in the entry register for possible use in the
calculation to be performed. In a similar manner, the value stored
in the result register 189 is transferred to the store 1 register
191 upon the depression of the "store" key following an arithmetic
operation. It should be noted at this point that while four store
registers and their corresponding address keys have been described,
a larger number of such registers could be utilized if desired.
Summarizing, the above description has related to the display of
numerical values contained in the scratch pad storage unit 61, and
the entry of these values into the scratch pad storage unit. In the
description which follows, the functions of the entry register 187,
the result register 189, and the arithmetic and logic unit 193 will
be described for the scratch pad mode of operation.
The operation of the entry register 187 in the scratch pad mode of
operation is similar to that described with respect to the
worksheet mode of operation. It can be loaded only from the numeric
keys of the alphabetic and numerical keyboard 27 and retains its
contents during all arithmetic operations. It is cleared upon the
start of a new entry after one or more arithmetic operations. When
the operator keys a numeric quantity into the entry register and
thereafter depresses the "add" keybutton, the "subtract" keybutton,
the "multiply" keybutton, or the "divide" keybutton, the contents
of the entry register will be used as the addend, subtrahend,
multiplicand, or dividend as the case may be. Further, if none of
the other store registers are addressed prior to the depression of
such an arithmetic function key, the entry register contents will
be used as the operand automatically.
The result register contains the results of all arithmetic
operations performed by the arithmetic and logic unit 193 except
for the quotient in a division operation. In a division operation,
the store 1 register 191 stores the quotient while the result
register stores the remainder. Depression of the clear key clears
the result register 189 while depression of the store key causes
the contents of the result register to be transferred to the store
1 register 191 as described above. If the operator desires to store
the result of a calculation which is contained in the result
register 189 at a location of the work storage unit 60, it is
necessary to transfer switch 45' to the worksheet mode of
operation, locate the cursor to the desired field and thereafter
depress the result display key on the arithmetic and control
keyboard 25. This operation causes the contents of the result
register to be cleared.
In the description which follows, the arithmetic functions
performed by the arithmetic and logic unit 193 in response to the
depression of keys on the arithmetic and control keyboard 25 when
in the scratch pad mode of operation, will be described. Depression
of the add key causes the contents in the register last addressed
to be added to the contents of the result register 189. Thus, if
one of the address keys on the arithmetic control keyboard 25
designating one of the store registers has been previously
depressed, the contents of the designated store register would be
added to the contents of the result register. If no register is
thus addressed, keyboard entry is implied and the contents of the
entry register 187 are added to the contents of the result register
189. Depression of the subtract key effects a similar operation
except that the sign of the subtrahend is reversed.
Depression of the multiply key causes the contents of the last
addressed register to transfer to the result register 189. If
another operation (e.g. addition, multiplication, etc.) immediately
precedes the depression of the multiply key, the contents of the
result register will remain and become the multiplicand. If a
keyboard operation immediately precedes the depression of the
multiply key, the contents of the entry register 187 are placed in
the result register 189. Additionally, depression of the multiply
key sets up the arithmetic circuit so that a multiply operation
will occur when the equal keybutton is depressed. Thereafter, the
multiplier is selected by depressing an address key thus selecting
the contents of one of the store registers in the scratch pad
storage unit 61 or the multiplier is keyed. In either event, the
contents of the selected register or the keyed value are
transferred to the entry register 187 upon the depression of the
"equal" key.
Depression of the divide key causes the contents of the last
addressed register to transfer to the result register 189 and serve
as a dividend. If another arithmetic operation immediately precedes
the depression of the divide key, the contents of the result
register remain as a dividend. Additionally, the divide circuits in
the arithmetic logic unit 193 are set up so that a divide operation
will occur when the equal key is depressed.
Depression of the equal key causes a multiply operation or a divide
operation to occur in accordance with previously depressed
keybuttons. The contents of the register addressed immediately
preceding the depression of the equal key are transferred to the
entry register 187 unless a keyboard entry immediately preceded the
depression of the equal key, in which case that value is retained
in the entry register. The result of a multiply operation is stored
in the result register 189 and the result of a divide operation is
stored in the store 1 register 91 and the result register as
previously described.
The following chart summary outlines the operation of the various
possible combinations of operational sequences which can be
performed in the scratch pad mode of operation: ##SPC1##
Na not admissable or no operation or unnecessary.
0 Clears result register.
2 Clears last-addressed register.
2 Clears entry register-- correcting erroneous key entry.
3 Repeat add using contents of last-addressed register.
4 Cancellation of previously subtracted quantity.
5 Adds contents of entry register to result register (A.sup. . B+
B= C; (A+ B)+ B= C)
6 adds contents of addressed register to result register.
7 Cancellation of previously added quantity.
8 Repeat subtract using contents of last-addressed register.
9 Subtracts contents of entry register from result register.
(A.sup. . B- B= C; (A- B)- B= C)
10 subtracts contents of addressed register from result
register.
11 Contents of result register are assigned as multiplicand. (A+
B)C= D or (A- B)C= D
12 contents of entry register are transferred to the result
register and become the multiplicand.
13 Same as 12 except addressed store register is used.
14 Contents of the result register are assigned as the
dividend.
15 Contents of entry register moved to result register as
dividend.
16 Contents of addressed register moved to result register as
dividend.
17 Contents of result register are squared. (A.sup.2 = B).
18 initiates multiply or divide using last-addressed factors as
operands. Store operation does not cancel previous control
setups.
19 Initiates multiply or divide using entry register as multiplier
or divisor.
20 Initiates multiply or divide using addressed register as
multiplier or divisor.
21 Transfers contents of result register to store 1, of store 1 to
store 2, store 2 to store 3, etc.
22 Transfers contents of entry register to store 1, of store 1 to
store 2, store 2 to store 3, etc.
23 Normal factor entry after clearing of result register.
24 Normal factor entry prior to arithmetic operation.
25 Normal factor addressing after clearing of result register.
26 Normal factor addressing prior to arithmetic operation.
Summarizing, there are two basic modes of operation of the
electronic statistical typing system: scratch pad mode and
worksheet mode. When in scratch pad mode, as described above, the
system functions as a small desk calculator, the contents of
various registers being displayed on the display device 13 to
readily enable the operator to arithmetically manipulate the
numerical contents of the registers and thus perform complex
calculations. The contents of the registers thus displayed which
form the scratch pad storage unit 61 may be transferred to the
worksheet storage unit 60 and preselected values stored in the
worksheet storage unit 60 may be transferred to a designated
register within the scratch pad storage unit 61. When in worksheet
mode, the contents of the worksheet storage unit 60 are displayed
on the display unit 13 and the operator, by manipulating cursor
control keys, is able to specify the storage locations of the data
to be arithmetically operated upon, entered, or transferred to
other locations within the worksheet storage unit 60.
As has been described heretofore, an additional characteristic of
statistical and accounting work is repetition. Operations performed
on one set of factors are frequently repeated on other sets. The
electronic statistical typing system of the present invention
incorporates a unique programming device which enables the operator
to work through a sample example and, by so doing, effect the
programming of the system. Thereafter, the operator effects the
repetition of the program on other data thus letting the
programming device sequence the system through the various steps.
For example, it may be desirous to total each column on the
worksheet. In order to program the system so that it will perform
each step within such an operation automatically, the operator
merely depresses a "learn program" keybutton on the keyboard, and
performs the operation on the data that is desired. In the above
example, the operator would manipulate the cursor control key and
the add key and thus total a single column. Thereafter, the
operator would place the cursor at the next column desired to be
totaled and merely depress the program repeat button. The
programming device would thereafter effect the proper placement of
the cursor and also properly sequence the placement of the cursor
with arithmetic operations performed by the system. In the
description which follows, the operation of the programming device
will be described.
Referring once again to FIG. 2 of the drawings, a program control
keyboard 41 is utilized by the operator to effect the storage of
and repetition of programmed sequences. By way of example, eight
program sequences can be stored by the programming device of the
system with each program containing up to 64 individual function or
cursor motion instructions. The indicator lamps 43 indicate which
of the eight program sequences will control the operation of the
device. By depressing the "program advance" key on the keyboard, a
different one of the eight programs will be sequentially accessed
for such control purposes.
As indicated above, there are two program modes of operation:
program learn and program repeat. In the program learn mode of
operation, all control operations including cursor motion are
sequentially stored; and in the program repeat mode of operation, a
previously stored sequence of operations is read out to control the
sequencing of operations performed by the system. The system is
placed in the program learn mode of operation by first depressing
the "program advance" keybutton to select a desired one of the
eight program sequences. Thereafter, the cursor is moved to a
position adjacent the first data item to be operated upon and the
"learn program" keybutton is depressed. All subsequent control
operations and cursor motions will be stored within the selected
program sequence. Similarly, after locating the cursor to the
starting point and selecting the desired program, the "repeat
program" keybutton may be depressed and the system will perform the
operations defined by the selected program on the data
displayed.
Referring now to FIG. 3 of the drawings, the programming device of
the electronic statistical typing system consists of a program
storage unit 199, a storage address and control unit 201, a program
store register 203, and an encode/decode circuit 205. The program
storage unit stores eight different program sets, each set
consisting of up to 64 individual function or cursor motion
instructions. The storage address and control unit 201 is
responsive to the "program advance" keybutton on the program
control keyboard 41 to select the initial location of one of the
eight program sequences. Thereafter, when in the program learn
mode, each character gated from the program store register 203 into
the program storage unit 199 causes the address and control unit to
increment by one unit to the next instruction storage location
within the selected program sequence. In a similar manner, when in
program repeat mode, each character gated from the storage unit 199
to the program store register 203 effects the incrementing of the
address and control circuit 201. Thus, each of the 64 instruction
locations within a program sequence is accessed under the control
of the address and control unit 201.
When in the program learn mode, a representation of each
manipulation of the keybuttons on the cursor control keyboard 29
are transmitted to the encode/decode circuit 205. Additionally, a
representation of each manipulation of the keybuttons on the
arithmetic control keyboard 35, the keybuttons on the display
control keyboard 37, and the keybuttons on the scratch pad storage
control keyboard 39 of FIG. 2 are also transmitted to the
encode/decode circuit 205. Each such representation transmitted to
the encode/decode circuit 205 is encoded into a special program
instruction character and transmitted to the program store register
203. Once such an instruction is received in the program store
register 203, it is gated into the program storage unit 199 under
the control of the address and control unit 201. When in the
program repeat mode of operation, each program instruction
character previously stored is sequentially gated from the program
storage unit 199 to the program store register 203. Thereafter,
each such individual instruction character is decoded by the
encode/decode circuit 205 and transmitted either to the address and
cursor control unit 83 or to the arithmetic and logic unit 193. The
output signal of the encode/decode circuit 205 is similar in all
respects to the output signal supplied by the individual keybuttons
and their corresponding switches on the arithmetic and control
keyboard 25 or the cursor control keyboard 29. Thus, these signals
cause the system to operate in the same manner as if the operator
depressed the corresponding keybuttons. It is, of course,
recognized by those skilled in the art that clocking circuitry (not
shown) can readily be incorporated to insure that an instruction is
not read into the program store register 203 until the previous
instruction is executed. This clocking circuitry would be
responsive to both the operations of the worksheet storage unit 60
and the scratch pad storage unit 61 to control the address and
control unit 201 in a well known manner.
As has been described heretofore, once the displayed worksheet
information has been entered, arithmetically manipulated, totaled
and cross-totaled and if necessary, changed and retotaled the
information thus contained in the worksheet storage unit 60
represents the final work product of the professional. In order to
obtain a printed copy of the information thus contained in the
worksheet storage unit 60, the electronic statistical typing system
of the present invention also includes an input/output device 207.
The input/output device 207 could either be a secondary media
reader/recorder, a secondary media reader and printer, or an
electronic data processing system. An example of a secondary media
reader/recorder having an output printer associated therewith which
could readily be adapted for utilization in conjunction with the
electronic statistical typing system of the present invention is
the magnetic card reader/recorder described in the aforereferenced
copending application entitled "Data System With Printing,
Composing, Communications, and Magnetic Card Processing
Facilities."
When it is desirous to output the information to the input/output
device 207, the "output" keybutton on the mode control keyboard 33
is depressed which effects the automatic reading out of the
information contained in the worksheet storage unit 60 under the
control of the address and cursor control unit 83. Depression of
this keybutton causes the address and cursor control unit to gate
out the information starting with the first position of the topmost
line of the worksheet storage unit 60. Depending upon the internal
formating of the worksheet storage unit 60, this line could
correspond to the format data (tab stops). Once the topmost line is
thus read out into the memory register 185 and thence to the
input/output device 207, the address and cursor control unit 83
causes the second line of storage to be addressed and similarly
read out. This operation continues until the entire contents of the
worksheet storage unit are accurately transferred either to a
secondary media for subsequent printout or directly to a
printer.
Since the information is in columnar format and since the various
tap stops defining each column are defined internally in the
storage unit, it is possible to first effect the automatic setting
of tab stops on a serial printer. In this manner, the serial
printer is thereafter tabulated instead of being spaced through the
blank spaces between each column thus effecting an efficient
utilization of the serial printer.
It is to be noted that the operation of the input device associated
with the input/output device 207 is analogous to the operation of
the output device. That is, information is read into the worksheet
storage unit 60 a line at a time until all of the input information
contained on the secondary media is thus entered. In this manner,
the work product of one professional can be transferred to the
secondary media. At a later time the second professional could
cause the information on the secondary media to be entered into the
system for checking and/or updating purposes.
Thus far, the description has related to the entry and display of
alphabetic characters and numerical numbers on the display device
13. It is often desirous to display decimal points and other
punctuation symbols such as commas. A decimal point selector switch
209 is located on the display control keyboard 37 which enables the
operator to specify the location of the decimal point. Decimal
points are located automatically to the left of the cursor tab
location according to the setting of the decimal point selection
switch. When in scratch pad mode , they are located to the left of
the rightmost storage position of the fixed field scratch pad
storage registers according to the setting of the switch. The
operator is required to key a decimal key located on the alphabetic
and numeric keyboard 27 when entering fractional numbers. If all of
the decimal positions to the right of the decimal point are not
keyed (implicit zeros the system automatically aligns the decimal
points according to the setting of the decimal point selection
switch and adds the necessary zeros Commas are automatically placed
at every third position to the left of the decimal point once the
decimal point key is keyed in a well-known manner.
An additional means of controlling the decimal point location,
which is especially applicable to both the scratch pad mode of
operation and the worksheet mode of operation of the present
system, is described in U.S. Pat. No. 3,391,391, entitled
"Computation With Variable Fractional Point Readout," and assigned
to the assignee of the present invention. Therein, the various
registers are adapted to store numerical information in their
relatively ordered storage locations and also are adapted to store
the decimal point indication in any of the storage locations. The
arithmetic unit performs the arithmetic operations of
multiplication, division, addition and subtraction of two stored
numbers and stores the result in a result register. Additional
means are provided to access the stored numbers, compute the proper
decimal point location of the resultant number in accordance with
the arithmetic operation performed and to store the decimal point
location in its proper relative position in the result register.
Display means thereafter display the contents of the register with
the fractional point in its proper relative position.
OPERATION OF THE INVENTION
The electronic statistical typing system operates in two basic
modes of operation: worksheet mode and scratch pad mode. When in
the worksheet mode, columns and rows of data are entered by the
operator and displayed on a display device. The operator causes the
data displayed to be moved about the display and also
arithmetically manipulates the data displayed. In the scratch pad
mode, the system is utilized as a desk calculator and the contents
of various internal registers associated with an arithmetic unit
are displayed thereby enabling the operator to arithmetically
manipulate the data displayed.
Referring now to FIG. 1 of the drawings, a perspective sketch of a
typical operator's console when the system is in the worksheet mode
is depicted. As thus depicted, the display device 13 is displaying
information 17 arranged in a column and row format. The information
on the display can be divided into three areas which are delineated
by broken lines: the columnar identification area 19 containing
alphabetic information identifying the columns, the row
identification area 21 containing alphabetic information
identifying the rows, and a numerical entry area 23 containing the
columns and rows of numerical entries. This information is entered
into the system by operator manipulation of the alphabetic and
numeric keyboard 27 or by an input/output device (not shown).
Referring now to FIG. 2 of the drawings, a diagram of the keyboard
15 of the console 11, depicted in FIG. 1 is depicted. The keyboard
15 includes a mode control keyboard 33 which includes a toggle
switch 45 utilized to place the system in either the worksheet mode
of operation or the scratch pad mode. Additional submodes include
an enter mode, a replace mode, and a calculate mode. Referring once
again to FIG. 1 of the drawings, the alphabetic information in the
columnar and row identification areas 19 and 21 respectively is
inputed when in replace mode. When in replace mode, the cursor 31
displayed on the display device 13 is located adjacent to the
position on the display where the next keyed character will be
displayed and advances by one position to the right when a
character is keyed. When keying in the columnar headings, the
operator define each column by setting tab stops. The setting of
the tab stops defines the length of the numerical fields contained
within the numerical entry area 23. Once the row headings and
column headings have thus been entered, the numerical data is
entered. The data is generally entered when in enter mode, this
mode causing the cursor 31 to be located adjacent to the units
position of a numerical field. Numerical entry in this mode of
operation is high order positions first, the numerical information
being shifted to the left by one position with each new key entry.
Numerical entries may also be made when in replace mode.
When the operator has completed the entry phase of operation, the
calculate mode of operation is next performed. Once the "calculate"
keybutton on the arithmetic and control keyboard 25 is depressed,
physical relocation of the displayed data and arithmetic
manipulation of the displayed data can take place. This is done by
operating with the keys on the cursor control keyboard 29 to locate
the cursor 31 at a field control position associated with each
numerical entry and by operating the desired function keys on the
arithmetic and control keyboard 25. During such data manipulation,
it may be necessary to switch to the scratch pad mode of operation
to perform a complex calculation. Data may readily be moved from
the worksheet display to the scratch pad display and vice
versa.
The nature of the cursor control permits a sweeping motion across a
row or down a column. Combining this operation with arithmetic
functions allows entire columns and rows to be manipulated at high
speed. Additionally, functions performed under operator control for
a specific column or row may be "learned" by the system and used to
automatically perform similar operations on other columns or rows.
This automatic mode provides even greater speed and operator
simplicity.
In the description which follows, it will be assumed that all of
the information contained in the columnar identification area 19,
the row identification area 21, and all of the entries within the
columns and rows thus defined will have been previously entered and
that it is desirous to obtain the totals of the various columns.
Additionally, it will be assumed that it is desirous to make the
system "learn" the totalizing operation as it is performed in one
column and to thereafter automatically perform the operation upon
the depression of a single keybutton.
Referring now to FIG. 2 of the drawings, the operator places the
system in the calculate mode of operation by depressing the
"calculate" key on the mode control keyboard 33. Thereafter, the
operator manipulates the keys on the cursor control keyboard 29 to
place the cursor adjacent to the first numerical entry in the first
column. This can be done by manipulating the keybuttons 49 or by
depressing the "return" keybutton causing the cursor to move to its
leftmost position in the numerical entry area, depressing the
"elevate" keybutton causing the cursor to return to its uppermost
position within the numerical entry area, and thereafter depressing
the "tab" keybutton causing the cursor to advance to the control
position of the first entry. Thereafter, the "learn program"
keybutton on the program control keyboard 41 is depressed and the
"program advance" keybutton is manipulated to select the desired
program sequence. At this time the operator is ready to perform a
sequence of arithmetic operations, display operations, and cursor
motion operations in order to total the first column of
information. The "add" key on the arithmetic keyboard 35 is next
depressed. The operator then causes the cursor to move down to the
second numerical field in the column. Continuous cursor movement in
a downward direction is effected until the last numerical entry in
the column has been addressed. Thereafter, the operator releases
the add key, moves the cursor downward, depresses the "underscore"
key on the display control keyboard 37 to effect the underscoring
under the last numerical entry and thereafter depresses the "result
display" key on the display keyboard 37 to effect the display of
the total under the underscore.
Referring now to FIG. 3 of the drawings, it has been described how
the operator has placed the cursor adjacent to the control position
of the uppermost numerical field displayed on the display device
13. Each of the numerical fields thus displayed is stored in the
worksheet storage unit 60. Location of the cursor upon the display
13 adjacent to a character symbol as controlled by the address and
cursor control unit 83 also causes that character to be addressed
in the worksheet storage unit 60. Referring briefly to FIG. 4 of
the drawings, a representation of typical numerical fields of
information within the worksheet storage unit 60 is depicted. Each
such field 69 of information is defined by tap stops and consists
of a numerical entry portion 75 containing a number of data
characters and a sign and control portion 77. By locating the
cursor symbol graphically depicted at 80 adjacent to the control
position of the field (in actuality, addressing the control
position of the field) when in the calculate mode, arithmetic
operations may thereafter be performed on the data contained in the
numerical portion 75 of the field 69.
Referring now to FIG. 3 of the drawings, the above listed sequence
of operations will be described with respect to the block diagram
of the system. When the operator depresses the add key on the
arithmetic and control keyboard 25, the contents of the topmost
numerical field addressed by the cursor in the worksheet storage
unit 60 are gated into the memory register 185 and thence into the
entry register 187. Thereafter, the contents of the entry register
187 are added to the contents of the result register (which is
clear) by the arithmetic and logic unit 193 and the result is
thereafter stored in the result register 189. Additionally, the
output signal generated from the depression of the "add" keybutton
is transmitted to the encode/decode circuit 205 which provides a
signal output to the program store register 203 in the form of a
coded representation representative of an add operation. The
contents of the program store register 203 are thereafter gated
into the program storage unit 199 under the control of the address
and control unit 201. Thereafter, the operator causes the cursor to
move in a downward direction and keeps the "add" key depressed.
When the cursor reaches the control position of the second
numerical entry in the first column, that numerical entry is gated
into the memory register 185 under the control of the address and
cursor control unit 83. Since the add key is depressed at this
time, the contents of the memory register 185 are gated into the
entry register 187 and thereafter, the contents of the entry
register 187 are added to the contents of the result register 189
by the arithmetic and logic unit 193 and the result of the
arithmetic calculation is stored in the result register 189.
Additionally, the instruction to move the cursor in a downward
direction is transmitted to the encode/decode unit 205 and thence
to the program store register 203 and the program storage unit 199.
Thereafter, the encode/decode circuit 205 is again responsive to
the depressed "add" key to cause the storage of an indication of an
add operation. It should be noted at this time that a continuous
depression of the add key, the subtract key, or the multiply key
causes that function to be repeated whenever the cursor is moved to
the control position of a new field. The cursor is continued to be
moved in a downward direction through the control positions of the
numerical entries within the column of information. When it arrives
at each new control position, it causes the contents of the field
thus addressed to be added to the contents of the result register
189 and a representation of both the cursor motion and the
operation to be stored in the program storage unit 199.
Referring now to FIG. 11 of the drawings, a singular program
sequence within the program storage unit 199 of FIG. 3 is depicted.
The program sequence 211 consists of a plurality of 64 discrete
storage locations 213, each location storing a coded representation
of a control function or cursor motion function. When totaling the
leftmost column of numerical entries depicted in FIG. 1, it has
been described that the "add" key is continuously depressed and
thereafter, the cursor is moved downward through each of the nine
columns of information. As can be appreciated, it would also be
possible to discretely depress the singular program sequence within
the program storage unit 199 of FIG. 3 is depicted. The program
sequence 211 consists of a plurality of 64 discrete storage
locations 213, each location storing a coded representation of a
control function or cursor motion function. When totaling the
leftmost column of numerical entries depicted in FIG. 1, it has
been described that the "add" key is continuously depressed and
thereafter, the cursor is moved downward through each of the nine
columns of information. As can be appreciated, it would also be
possible to discretely depress the "add" key on nine different
occasions, and between each such depression of the "add" key,
depress the cursor down key. In either instance, nine add
instructions are stored interleaved with nine cursor down
instructions.
Referring once again to FIG. 3 of the drawings, when the complete
column of information has been totaled, it is desirous to display
the total under the column and to locate a line between the total
and between the columnar information. The operator moves the cursor
downward to the location where it is desired to effect the display
of the total and depresses the "underscore" key on the arithmetic
control keyboard 25. Depression of the "underscore" key causes an
underscore to be displayed above the numerical entry of the field
addressed. Thereafter, the operator depresses the "result display"
key which causes the contents of the result register 189 to be
gated into the memory register 185 and thence into the worksheet
storage unit 60 at the location specified by the cursor. The result
register 189 is cleared during this operation. The operator may
then depress the "program end" keybutton on the arithmetic and
control keyboard 25 and thereafter reposition the cursor to the
control position of the second column of information. Thereafter,
the operator depresses the "repeat program" keybutton to effect the
automatic totaling of the second column and the display of the
total by the system. When the "repeat program" keybutton is thus
depressed, the program sequence as depicted in FIG. 11 is
sequentially gated from the program storage unit 199 to the program
store register 203. Thereafter, the contents of each instruction
character thus stored in the program store register 203 is decoded
by the encode/decode circuit 205. Cursor movement instructions are
transmitted to the address and cursor control unit 83 while
arithmetic and control functions are transmitted to the arithmetic
logic unit 193. In this manner, the device is sequentially stepped
through each of the steps previously performed by the operator
under the complete control of the system. When the total of the
second column is displayed, the system stops and the operator
thereafter repositions the cursor to the topmost position of the
third column and again depresses the program repeat keybutton. It
should be noted at this time that after depressing the result
display have repositioned keybutton, the operator could have
repositioned the cursor to the second column and stored the cursor
motions utilized to effect such a repositioning. With this
information thus stored, it would be unnecessary for the operator
to reposition the cursor in between depressions of the program
repeat keybutton. Cross-totals may be calculated in a similar
manner by utilizing the "tab" key on the cursor control keyboard 29
in lieu of the cursor down key as down key as described above.
Once the columns and rows of information have thus been totaled,
and cross-totalled, the operator may desire to manipulate various
entries to compensate for roundoff errors or to arrive at proper
results. Thereafter, the columns and rows may be retotalled again
by merely addressing the proper program sequence and depressing the
program repeat keybutton. Once the worksheet is in its desired
form, the operator depresses the "output" keybutton on the control
keyboard 25 which effects the sequential reading out of the work
sheet storage unit 60 into the memory register 185 and thence to
the output unit of the input/output device 207.
While the above description has related primarily to the display of
data information on a cathode ray tube, it is understood by those
skilled in the art that various forms of electronic display devices
such as gas panel displays can be utilized without departing from
the spirit and scope of this invention. Additionally, a single CRT
display which is utilized to display two different storages has
been described although two such display units could be provided,
one to display the worksheet storage unit and the other to display
the scratch pad storage unit. The description has also related to a
system utilizing a cartesian coordinate system to define the motion
of the marker symbol (cursor) Other coordinate systems could be
utilized in lieu of the cartesian system to define the cursor
motion and/or the entries could be arranged in a different
geometrical pattern. For example, a polar coordinate system could
be utilized in conjunction with the row and column display or in
conjunction with a display of entries arranged in a circular
pattern. It is further recognized by those skilled in the art that
the electronic statistical typing system of the present invention
could consist of a console similar to that described with respect
to FIG. 1, and a remote data processor functionally arranged in a
manner similar to that shown with respect to FIG. 3.
While the invention has been particularly shown and described with
reference to a preferred embodiment thereof, it should be
understood by those skilled in the art that the foregoing and other
changes in form and detail may be made therein without departing
from the spirit and scope of the invention.
* * * * *