US3610902A - Electronic statistical calculator and display system - Google Patents

Electronic statistical calculator and display system Download PDF

Info

Publication number
US3610902A
US3610902A US765326A US3610902DA US3610902A US 3610902 A US3610902 A US 3610902A US 765326 A US765326 A US 765326A US 3610902D A US3610902D A US 3610902DA US 3610902 A US3610902 A US 3610902A
Authority
US
United States
Prior art keywords
register
numerical
display
entry
defining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US765326A
Inventor
Robert A Rahenkamp
William R Stewart Jr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of US3610902A publication Critical patent/US3610902A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting

Definitions

  • 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.
  • FIG. a im. 92 96 Riv 11B RETURN a a l 91 CURSOR RIGHT 93 94 com 010011 TRY on E11 RETURN & CURSOR LEFT 010011 mmy ADD CURSUR HORIZONTAL H -1 POSITION COUNTER H CONTROL 1151 11102 sn TAB 010011 101 OR REVERSE 1111 1 FIRST m1 rm 1111011 Y 1151111111 1 L 1111 103 104 m an 1111 OH H RETURN REVERSE on PATENTEU BET 5197i 3,610,902
  • REV 11 m1 1111011 115v 1 e m CURSOR 11011120111111 POSITION cm ELECTRONIC STATISTICAL CALCULATOR AND DISPLAY SYSTEM CROSS-REFERENCE TO RELATED APPLICATION
  • the following application is assigned the same assignee as the present application.
  • 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.
  • the steps of preparing the ledge information or the statistical information in a final printed copy format often entail: l 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.
  • 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 infonnation can then automatically be totaiieed 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.
  • 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.
  • 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.
  • 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 crosstotaled, changed, updated, deleted, and thereafter retotaled under the control of the professional operating on the data dis played 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/IO-key numeric-keyboard, a contnol 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.
  • 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.
  • 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.
  • FIG. 1 is a perspective sketch of a typical operator's console which includes the display device, the function keyboard, and the data keyboard.
  • F 16. 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 positionlng control logic.
  • F l0. 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. 1
  • 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. 1 1 is a schematic diagram of a program sequence within the program storage unit.
  • FIG. 1 a perspective sketch of a typical operators 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.
  • 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.
  • a detailed diagram of the keyboard 15 of the console 11 of FIG. I is depicted.
  • 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.
  • three indicator lamps 43 are associated with the program advance keybutton on the program control keyboard 4i.
  • 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.
  • 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.
  • 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 highspeed 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.
  • 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.
  • the cursor returns to the left edge of the row identification area 2] 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.
  • 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 hereto fore, if the worksheet width exceeds the display width, the dis played 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.
  • the operator 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.
  • the high order positions are keyed first, the cursor remaining in the units position with each keyed digit causing the previously keyed digits to shifi to the left both within the electronic storage unit and on the display 13.
  • the operator 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 efi'ected 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.
  • 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 justkeyed 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.
  • the description has related to how the operator keys in information, and manipulates the cursor 3! on a display device 13 to designate where information is to be entered.
  • 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.
  • 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.
  • 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 columrun 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.
  • 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.
  • 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.
  • 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 7] 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 por tion 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.
  • 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 de picted at 80.
  • 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.
  • 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 I3.
  • the cursor addresses a single unique storage position.
  • the cursor addresses the units position of a field defined by previously set tab stops.
  • the cursor addresses the sign and control portion of the field defined by the tab stops.
  • FIG. 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, B7, 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.
  • each of the areas are defined by the boundaries of the storage unit 60 and/or coordinate positions V,, V V and H,, H,, and H
  • the V coordinate position is defined, as described heretofore, by the depression of the heading keybutton when in replace" mode.
  • the H, coordinate position is defined by the first tab stop.
  • the V, and V, 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, and V, 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, and the upper boundary of the memory.
  • the H, and H, 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, coordinate position.
  • the logic which controls the horizontal cursor position, h, and the logic which defines the H and initial H, coordinate positions will be described.
  • 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, counter when the return key is depressed when either in control mode or entry mode by a gated signal from ANDgate 93.
  • 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 I 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.
  • 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 +l. 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.
  • 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 I02 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.
  • 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 I after a tab operation when in control mode.
  • 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-I signal to the OR-gate 99 whose output causes the counter 91 to decrement by I.
  • logic (not shown) causes the counter 91 to decrement by two positions when in enter mode.
  • 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 I10. 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, counter lll and the H, 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.
  • 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, 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 I when the cursor down key is depressed as controlled by AND-gates I18 and I19 and the OR-gate I20. Both the V, counter 121 and the V counter 122 are gated with the contents of the counter 115 by AND circuit I23 when in replace mode and when the end heading key is depressed.
  • 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, counter 111, the H, counter I12, and the H, counter I25 are utilized to define the H,, H,, and H coordinate positions as defined in FIG. 5. It has been described how the H, counter III is initially set with a value corresponding to the first tab stop and how the H counter 112 is initially set with the same value. Thereafter, whenever the return key is depressed, AND-gate I26 provides an output signal to the OR-gate I27 which causes the H, counter I12 to be set with the value of the H, counter.
  • Depression of the return key also causes the AND-gate 128 to pro vide an output signal which causes the H, counter I25 to be set with a number corresponding to the maximum number of horizontal positions that can be displayed.
  • the H, counter Ill and the H, counter 112 each contain a value corresponding to the first tab stop, and the H, counter contains a value corresponding to the maximum number of horizontal positions that can be displayed within a line.
  • the value in the H counter is compared with the horizontal position of the cursor which is supplied by the counter 91 by the compare circuit 129.
  • the scan "window" must be advanced to the right.
  • latch 130 is set and the output of the latch is utilized to gate the AND-gate 131.
  • the output of the AND-gate I31 supplies a H signal to the OR-gate 132 which in turn causes the H, counter U2 and the H, counter I25 to increment by +l.
  • the output of the AND-gate 136 is gated through the OR-gate 132 and decrements the H, counter 112 and the H, counter 125.
  • the compare circuit 134 supplies a reset signal to the latch 135.
  • 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, 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.
  • 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, 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 tabbedto field.
  • This new horizontal position is thereafter supplied by the counter 91 to the compare circuit 134 which causes the H, counter to continue to decrement until its count is equal to that of the counter 91.
  • 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, counter 112. At this time, the H 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.
  • FIG. 7 of the drawings how the V, and V, counters 121 and 122 are initially set with the heading line coordinate position.
  • AND-gate 144 provides an output signal to the OR-gate 145 which in turn gates the V, counter 122 with the contents of the V, counter 12].
  • 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, 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, 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, counter 122 and the V, counter 147 to increment by +1. This operation continues until the count in the V, counter is greater than the vertical coordinate position of the cursor at which time the latch 149 is reset.
  • the compare circuit 152 provides an output signal whenever the cursor coordinate position is less than the count of the V, 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 -l line so as to provide a 1 signal to the OR-gate 151 which causes the V, counter 122 and the V, counter 14'! to decrement. The decrementing continues until the vertical coordinate position is greater than the count contained in the V, counter.
  • 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,, V,, and V, vertical coordinate positions as well as the H,, H,, and H, 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, B6, B7, and 88 as a continuous display, ignoring the contents of adjacent areas within the storage unit 60 will be described.
  • 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.
  • 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 l with each clock pulse under the control of the AND-gate 159.
  • 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, 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 counter 125 whenever the horizontal sweep flip-flop circuit 164 provides an output signal on its "8" 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, counter 111 by compare circuit 160.
  • the compare circuit When the contents of the horizontal display storage address register equal the value in the H, 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 ofthe horizontal sweep flip flop circuit 164- and with the contents of the H,
  • the horizontal display storage address register 158 is set with the contents of the H, 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.
  • the contents of the horizontal display storage address register 158 are compared with the contents of the H counter 125 by compare circuit 160 and, when equal to the contents of the H 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.
  • 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 counter 11 l. Thereafter, the contents of the H 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 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, coordinate position and the contents of the storage unit located between the H, coordinate position and the H coordinate position are displayed.
  • the contents of the horizontal display storage address register l58 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, counter 12], the V, counter 122, and the V counter 147 corresponding to the H counter 111, the H, counter 112, and the H counter 125 respectively.
  • the only further difference is that the vertical display storage address register is incremented by +l with each reset of the horizontal display storage address register.
  • 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.
  • 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 [87 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 I register 191 of the scratch pad storage unit 6] holds the quotient. Additionally, the result register is utilized when transferring information from the worksheet storage 60 to the scratch pad storage-6'1 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.
  • the result register may be cleared if the cursor is in the control position ofa 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 l85, then to the entry register 187, and thereafter to be added to the contents of the result register I89.
  • the contents of the entry register 187 will be added to the contents of the result register 189 in lieu of the cursor address fieldv
  • 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 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.
  • 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 I89 to the memory register 185 and thence to the numerical field defined by the cursor in the worksheet storage 60.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the store I register 19! 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 "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 osition.
  • 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.
  • the cursor may thereafter be located adjacent to the control position of a still further field and thereafler the display key be depressed to thus display and store the value in any number of other additional storage locations as desired.
  • 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.
  • 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 I register 191.
  • 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.
  • 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 I89 or permanently stored in a selected location of the worksheet storage unit 60.
  • a second mode of system operation is thus provided which enables complex calculations to be readily performed widiout 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.
  • 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 6! 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.
  • 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,
  • 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 1Store 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.
  • 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 I 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 I register 19] 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.
  • 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.
  • 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.
  • the store I register 19] 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 I register 191 as described above.
  • 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.
  • depression of the add key causes the contents in the register last addressed to be added to the contents of the result register 189.
  • 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 I87 upon the depression of the equal key.
  • another operation e.g. addition, multiplication, etc.
  • 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 18'! 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 I register 91 and the result register as previously described.
  • I8 Initiates multiply or divide using last-addressed factors as operands. Store operation does not cancel previous control setups.
  • scratch pad mode there are two basic modes of operation of the electronic statistical typing system: scratch pad mode and worksheet mode.
  • 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 6].
  • 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.
  • 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.
  • 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.
  • a program control keyboard 41 is utilized by the operator to effect the storage of and repetition of programmed sequences.
  • 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.
  • program learn 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.
  • 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.
  • each character gated from the storage unit 199 to the program store register 203 effects the incrementing of the address and control circuit 20I.
  • each of the 64 instruction locations within a program sequence is accessed under the control of the address and control unit 20I.
  • 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.
  • 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.
  • clocking circuitry 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 in a well known manner.
  • 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 procesing system.
  • 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 I85 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.
  • 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.
  • 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.
  • 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.
  • the electronic statistical typing system operates in two basic modes of operation: worksheet mode and scratch pad mode.
  • 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.
  • 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.
  • FIG. 1 of the drawings a perspective sketch of a typical operator's console when the system is in the worksheet mode is 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).
  • 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.
  • the alphabetic information in the columnar and row identification areas 19 and 21 respectively is inputed 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.
  • each column 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.
  • 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 con trol 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.
  • 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 perfonned 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the program sequence 2 consists of a plurality of 64 discrete storage locations 213, each location storing a coded representation of a control function or cursor motion function.
  • the program sequence 2 consists of a plurality of 64 discrete storage locations 213, each location storing a coded representation of a control function or cursor motion function.
  • the program sequence 2!] consists of a plurality of 64 discrete storage locations 213, each location storing a coded representation of a control function or cursor motion function.
  • 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 systemv
  • the program sequence as depicted in FIG. 11 is sequentially gated from the program storage unit I99 to the program store register 203. Thereafier, 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.
  • the device is sequentially stepped through each of the steps previously performed by the operator under the complete control of the system.
  • 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.
  • 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.
  • 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.
  • 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 and thence to the output unit of the input/output device 207.
  • 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 patternv
  • 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.
  • the electronic statistical typing system of the present invention could consist of a console similar to that described with respect to FIG I, and a remote data processor func tionally arranged in a manner similar to that shown with respect to FIG. 3.
  • a display calculator comprising:
  • 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;

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.

Description

United States Patent [72] Inventors Robert A. Rahenltamp;
William R. Stewart, Jr.. both of Lexington, Ky. [2 [1 Appl. No. 765,326 [22] Filed Oct. 7, 1968 [45] Patented Oct. 5, 1971 [73] Assignee International Business Machines Corporation Armonk, N.Y.
[54] ELECTRONIC STATISTICAL CALCULATOR AND DISPLAY SYSTEM 13 Claims, 11 Drawing Figs.
[52] US. Cl. 235/152, 340/1725, 340/324 [51] Int. Cl G06! 7/38, G06f 7/06 [50] Field oi Search 235/156, 152; 340/1725, 324
[56] References Cited UNITED STATES PATENTS 3,294,960 12/1966 Townsend 235/l 56 X 3,330,946 7/1967 Scuitto 235/156 X 3,346,853 10/1967 Koster et a1 3340/1725 [/0 UNIT 3,355.7]4 ll/l967 Culler 3,428,793 2/l969 Scuitto 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, olf-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.
a a o IORISHEE H I ll CONTROL 65 scmcmn so msmv CONTROL .6
194 m IORKSHEET 'fi; 1 STORAGE Sm 2 as \l STOR 1 185 {j aesuu b m 7 mm mm toils lJlHT PROGRAM STORAGE ADDRESS comm) .205 1 EtDODE/DECODE mum mm PROGRAM LEARN cutson tLPMtBEllCi AHITHMETIG PROGRAM CORIROL uuurmc CUliTRUt 25 00mm 4| KEYBOARD minim) KEYBOARD maoino PATENIED 001 51971 SHEET 1 OF 6 FIG. 1
QQQQQQ QIQQQQQ QQQQQQ @QQQQQ QQQ Q Q INVENTORS ROBERT A. RAHENKAMP WILLIAM R. STEWART, JR
BY 8* w ATTORNEY SHEET 3 0F 6 m 13 FIG. 3
$1005 4 m 910115 1 194 195 194 91005 2 b 910115 1 9i 104 1 194 f 055011 m "EMORY [MR7 ga a 101 $100105 1000550 111000111 Comm 51005 PROGRAM 11505111 f 00000111151011 0011900 1101111051101 1101111115110 00000111 00111001 1101151110 00111001 25 00111001 1151111011110 1151001100 115100100 1151001100 FIG. 4 11 11 ,11 11-\ 11091000011 x] XI 11] 1F 00111 09/111510 (D I 11510 @I 11510 I 01 00112 51510 (D 1 11510 1 11510 1 1 -00 5111 0 1 15 19 1: 11 09 01-19 05 19 r19 00119011 100111011 -00 -a0 A-00 -00 CALCULATE SHEET 8 BF 6 .4 h g F 111 112 H; 7 F G. 5 I? 5i I; l V2 89 U' 5a h,v Va
95 FIG. a im. 92 96 OR Riv 11B RETURN a a l 91 CURSOR RIGHT 93 94 com 010011 TRY on E11 RETURN & CURSOR LEFT 010011 mmy ADD CURSUR HORIZONTAL H -1 POSITION COUNTER H CONTROL 1151 11102 sn TAB 010011 101 OR REVERSE 1111 1 FIRST m1 rm 1111011 Y 1151111111 1 L 1111 103 104 m an 1111 OH H RETURN REVERSE on PATENTEU BET 5197i 3,610,902
SHEET 5 UF 6 11511105 FIG. 7 ELEVATE a RESET) w M 001111101 111 a b ENTER ELEVATE i RESET v1 v1 1 cuRsoR 0011111 mmy ADD CURSDR VERTICAL & CLMK POSITION comma +1 names END 11mm H 111 FIG. 8
RET 1111 111 m .m
REV 11: m1 1111011 115v 1 e m CURSOR 11011120111111 POSITION cm ELECTRONIC STATISTICAL CALCULATOR AND DISPLAY SYSTEM 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: l 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 infonnation is accurate; (l) 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 retotaiize 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 ollen 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 infonnation can then automatically be totaiieed 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 crosstotaled, changed, updated, deleted, and thereafter retotaled under the control of the professional operating on the data dis played 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/IO-key numeric-keyboard, a contnol 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 crosstotals 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.
F 16. 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 positionlng control logic.
F l0. 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. 1
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. 1 1 is a schematic diagram of a program sequence within the program storage unit.
DESCRlPTlON Referring now to the drawings, and more particularly to FIG. 1 thereof, a perspective sketch of a typical operators 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 H6. 2 of the drawings, a detailed diagram of the keyboard 15 of the console 11 of FIG. I 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 4i.
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 incorporates second small CRT display to display only the contentsofthe scratch pad storage. lnsuch 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. I 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(0) and 47(d), all of the information within the numerical entry area 23 and the row identification area 2] 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 highspeed 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 2] 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. I 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 hereto fore, if the worksheet width exceeds the display width, the dis played 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 3 l 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 shifi 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 efi'ected 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 justkeyed 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, refonnating, 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 3! 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 columrun 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 7] 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 por tion 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 de picted 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 I3. 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. 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, B7, 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,, V V and H,, H,, and H The V coordinate position is defined, as described heretofore, by the depression of the heading keybutton when in replace" mode. The H, coordinate position is defined by the first tab stop. The V, and V, 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, and V, 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, and the upper boundary of the memory. In a similar manner, the H, and H, 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, coordinate position. In the description which immediately follows, the logic which controls the horizontal cursor position, h, and the logic which defines the H and initial H, 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, counter when the return key is depressed when either in control mode or entry mode by a gated signal from ANDgate 93.
When the "tab" or the "reverse tab key is depressed, the counter 9| 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 I 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 9! 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 +l. 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 I02 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 I 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-I signal to the OR-gate 99 whose output causes the counter 91 to decrement by I. 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 I10. 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, counter lll and the H, 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, 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 I when the cursor down key is depressed as controlled by AND-gates I18 and I19 and the OR-gate I20. Both the V, counter 121 and the V counter 122 are gated with the contents of the counter 115 by AND circuit I23 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, counter 111, the H, counter I12, and the H, counter I25 are utilized to define the H,, H,, and H coordinate positions as defined in FIG. 5. It has been described how the H, counter III is initially set with a value corresponding to the first tab stop and how the H counter 112 is initially set with the same value. Thereafter, whenever the return key is depressed, AND-gate I26 provides an output signal to the OR-gate I27 which causes the H, counter I12 to be set with the value of the H, counter. Depression of the return key also causes the AND-gate 128 to pro vide an output signal which causes the H, counter I25 to be set with a number corresponding to the maximum number of horizontal positions that can be displayed. Thus, when the retum" key is depressed, the H, counter Ill and the H, counter 112 each contain a value corresponding to the first tab stop, and the H, 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 counter 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, 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 I31 supplies a H signal to the OR-gate 132 which in turn causes the H, counter U2 and the H, counter I25 to increment by +l. This operation continues until the horizontal Once the scan window" has been shifted to the right by advancing the H, and H, counters, the operator may thereafter cause the scan window" to be shified to the left by causing the cursor to move to the left beyond the value stored in the H, 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, 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, counter 112 and the H, counter 125. When the horizontal position of the cursor is greater than the count contained in the H, counter 1 12, 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 lefl to a coordinate position located to the left of the coordinate position defined by the H, counter 112 causes the H, 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, counter 112 ceases whenever the count in the H, 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, 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, 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, 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 tabbedto field. This new horizontal position is thereafter supplied by the counter 91 to the compare circuit 134 which causes the H, 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, counter 112. At this time, the H 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, and V, 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, counter 122 with the contents of the V, counter 12]. 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, 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, 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, counter 122 and the V, counter 147 to increment by +1. This operation continues until the count in the V, 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, 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 -l line so as to provide a 1 signal to the OR-gate 151 which causes the V, counter 122 and the V, counter 14'! to decrement. The decrementing continues until the vertical coordinate position is greater than the count contained in the V, 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,, V,, and V, vertical coordinate positions as well as the H,, H,, and H, 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, B6, B7, 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 l 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, 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, 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 counter 125 whenever the horizontal sweep flip-flop circuit 164 provides an output signal on its "8" 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, counter 111 by compare circuit 160. When the contents of the horizontal display storage address register equal the value in the H, 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 ofthe horizontal sweep flip flop circuit 164- and with the contents of the H,
counter 1 12. Thus, when the contents of the horizontal display storage address register are equal to the contents of the H, counter 111, the horizontal display storage address register 158 is set with the contents of the H, 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 counter 125 by compare circuit 160 and, when equal to the contents of the H 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 counter 11 l. Thereafter, the contents of the H 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 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, coordinate position and the contents of the storage unit located between the H, coordinate position and the H coordinate position are displayed.
In order to display the coordinate position of the cursor, the contents of the horizontal display storage address register l58 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, counter 12], the V, counter 122, and the V counter 147 corresponding to the H counter 111, the H, counter 112, and the H counter 125 respectively. The only further difference is that the vertical display storage address register is incremented by +l 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 [87 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 I register 191 of the scratch pad storage unit 6] holds the quotient. Additionally, the result register is utilized when transferring information from the worksheet storage 60 to the scratch pad storage-6'1 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 ofa 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 l85, then to the entry register 187, and thereafter to be added to the contents of the result register I89. 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 fieldv 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 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 [89. If the multiplier were keyed, the keyed number would be stored in the entry register I87 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 I89 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 tobe 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 depressedv 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 I register 19! of the scratch pad storage unit 6i 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 I register and stored in the cursor addressed field. The store I 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 I register 19! 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 "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 osition. 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 thereafler 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 I 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 I89 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 widiout 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 6! 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 ope ratofswitches 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 6t 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 1Store 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 I 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 I register 19] 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 I register 19] 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 I 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 I87 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 18'! 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 I 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:
Last operation Storiboard Store n n I) u 2 1 NA ll ll ll Keyboard Store l-4.....
l Subtracts contents of addressed register from result register. I I Contents of result register are assigned as multiplicand. (A+B )C=D or (A-B )C=D I2 Contents of entry register are transferred to the result register and become the multiplicand.
13 Same as l2 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.
I7 Contents of result register are squared. (A =B).
I8 Initiates multiply or divide using last-addressed factors as operands. Store operation does not cancel previous control setups.
l9 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 i, of store I 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 afier clearing of result register 26 Normal factor addressing prior to arithmetic opera tion.
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 6]. 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 20I. Thus, each of the 64 instruction locations within a program sequence is accessed under the control of the address and control unit 20I.
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 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 procesing 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 I85 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. Inthis manner, theserial 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 ofien 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 die 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 wellknown 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 US. 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 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 opera tion, 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 con trol 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 perfonned 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 leam" 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 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 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 2 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 2!] 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 I85 and thence into the worksheet storage unit 60 at the location specified by the cursor. The result register I89 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 systemv When the "repeat program" keybutton is thus depressed, the program sequence as depicted in FIG. 11 is sequentially gated from the program storage unit I99 to the program store register 203. Thereafier, 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 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 patternv 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 I, and a remote data processor func tionally 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.
What is claimed is:
l. 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;

Claims (13)

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.
US765326A 1968-10-07 1968-10-07 Electronic statistical calculator and display system Expired - Lifetime US3610902A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US76532668A 1968-10-07 1968-10-07

Publications (1)

Publication Number Publication Date
US3610902A true US3610902A (en) 1971-10-05

Family

ID=25073257

Family Applications (1)

Application Number Title Priority Date Filing Date
US765326A Expired - Lifetime US3610902A (en) 1968-10-07 1968-10-07 Electronic statistical calculator and display system

Country Status (6)

Country Link
US (1) US3610902A (en)
JP (1) JPS495577B1 (en)
CA (1) CA939065A (en)
DE (1) DE1949919A1 (en)
FR (1) FR2022231A1 (en)
GB (1) GB1274768A (en)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3764986A (en) * 1972-08-09 1973-10-09 Mi2 Columbus Magnetic tape data processing system
US3810107A (en) * 1973-01-18 1974-05-07 Lexitron Corp Electronic text display and processing system
US3813533A (en) * 1972-06-02 1974-05-28 Garrett Comtronics Corp Clock calculator
US3816730A (en) * 1971-10-04 1974-06-11 Omron Tateisi Electronics Co Electronic calculator with an incorporated digital clock
US3827041A (en) * 1973-08-14 1974-07-30 Teletype Corp Display apparatus with visual segment indicia
US3852521A (en) * 1972-12-26 1974-12-03 Varian Associates Interface for computer and print out system for automatic step and line sync command to printer
US3906457A (en) * 1974-02-15 1975-09-16 Victor Comptometer Corp Display system for an electronic business machine
US3968868A (en) * 1973-12-21 1976-07-13 International Business Machines Corporation Format control system for positioning final copy printed text
US4012725A (en) * 1972-07-07 1977-03-15 Hewlett-Packard Company Programmable calculator
US4075679A (en) * 1975-12-08 1978-02-21 Hewlett-Packard Company Programmable calculator
US4080659A (en) * 1977-02-28 1978-03-21 Francini Joseph P Multi-mode file storage calculator
US4091446A (en) * 1975-01-24 1978-05-23 Ing. C. Olivetti & C., S.P.A. Desk top electronic computer with a removably mounted ROM
US4130884A (en) * 1975-08-22 1978-12-19 Siemens Aktiengesellschaft Text processing arrangement
US4189727A (en) * 1978-01-12 1980-02-19 Lexitron Corporation Display advance system for a word processor
US4212077A (en) * 1976-09-22 1980-07-08 Ing. C. Olivetti & C., S.P.A. Text processing system for displaying and editing a line of text
US4250560A (en) * 1978-01-16 1981-02-10 Jurgen Dethloff Text processing apparatus
US4259725A (en) * 1979-03-01 1981-03-31 General Electric Company Cursor generator for use in computerized tomography and other image display systems
US4321688A (en) * 1976-09-27 1982-03-23 Canon Kabushiki Kaisha Electronic equipment capable of statistic processing
USRE31200E (en) * 1976-01-19 1983-04-05 Xtrak Corporation Raster scan display apparatus for dynamically viewing image elements stored in a random access memory array
US4456964A (en) * 1979-06-25 1984-06-26 Hewlett-Packard Company Calculator including means for displaying alphanumeric prompting messages to the operator
USRE31790E (en) * 1974-03-13 1985-01-01 Sperry Corporation Shared processor data entry system
US4506343A (en) * 1982-05-17 1985-03-19 International Business Machines Corporation Column layout reference area display management
US4597045A (en) * 1982-04-30 1986-06-24 Casio Computer Co. Ltd. Tabulated data calculating apparatus
US4642767A (en) * 1984-04-23 1987-02-10 Moisey Lerner Bookkeeping and accounting system
US4809220A (en) * 1984-03-30 1989-02-28 Wang Laboratories, Inc. Electronic processing system using printer and microprocessor to create forms template with pre-printed forms
US4860218A (en) * 1985-09-18 1989-08-22 Michael Sleator Display with windowing capability by addressing
US4908758A (en) * 1987-12-17 1990-03-13 Sanders Michael J Method of operating a computer for rank ordering and weighting category alternatives
US5053988A (en) * 1987-07-24 1991-10-01 Sharp Kabushiki Kaisha Data processing apparatus
US5109518A (en) * 1987-12-28 1992-04-28 Sharp Kabushiki Kaisha Calculator with single-key cursor-left-shift clear function and single-key cursor-right-shift clear function
US5117379A (en) * 1986-06-17 1992-05-26 Sharp Kabushiki Kaisha Data processing device for use in statistic calculation
US5117496A (en) * 1988-05-23 1992-05-26 Hewlett-Packard Company Method for recording and replaying mouse commands by recording the commands and the identities of elements affected by the commands
US5245536A (en) * 1989-11-09 1993-09-14 Sharp Electronics Corporation Portable electronic financial calculator and planner
US5586060A (en) * 1993-06-25 1996-12-17 Sharp Kabushiki Kaisha Compact electronic equipment having a statistical function
US5675827A (en) * 1981-05-21 1997-10-07 Canon Kabushiki Kaisha Information processing system, a processor, and an information processing method for the performing of an arithmetic operation of numeric information
US6201358B1 (en) * 1998-08-28 2001-03-13 Sony Corporation Waveform correction using inductance-controllable inductor
US20010044762A1 (en) * 1999-12-20 2001-11-22 Jacques Nault Financial statement module
US6650317B1 (en) 1971-07-19 2003-11-18 Texas Instruments Incorporated Variable function programmed calculator
US20070088636A1 (en) * 1999-12-20 2007-04-19 Jacques Nault Reading, organizing and manipulating accounting data
US20100037158A1 (en) * 2008-08-07 2010-02-11 International Business Machines Corporation Managing gui control auto-advancing
US9317875B2 (en) 2012-10-08 2016-04-19 Linkedin Corporation Methods and systems for identifying similar schools

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724721B (en) * 2020-07-14 2023-01-06 浙江虬晟光电技术有限公司 Fluorescent display screen device driven by integrated IC (integrated circuit) and control method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3294960A (en) * 1964-09-29 1966-12-27 American Mach & Foundry Electronic tax calculation circuit for use in business accounting system
US3330946A (en) * 1963-10-07 1967-07-11 Wyle Laboratories Calculator apparatus
US3346853A (en) * 1964-03-02 1967-10-10 Bunker Ramo Control/display apparatus
US3355714A (en) * 1963-10-21 1967-11-28 Bunker Ramo On-line computing system for processing mathematical functions
US3428793A (en) * 1964-07-27 1969-02-18 Wyle Laboratories Calculating apparatus with display means

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3330946A (en) * 1963-10-07 1967-07-11 Wyle Laboratories Calculator apparatus
US3355714A (en) * 1963-10-21 1967-11-28 Bunker Ramo On-line computing system for processing mathematical functions
US3346853A (en) * 1964-03-02 1967-10-10 Bunker Ramo Control/display apparatus
US3428793A (en) * 1964-07-27 1969-02-18 Wyle Laboratories Calculating apparatus with display means
US3294960A (en) * 1964-09-29 1966-12-27 American Mach & Foundry Electronic tax calculation circuit for use in business accounting system

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650317B1 (en) 1971-07-19 2003-11-18 Texas Instruments Incorporated Variable function programmed calculator
US3816730A (en) * 1971-10-04 1974-06-11 Omron Tateisi Electronics Co Electronic calculator with an incorporated digital clock
US3813533A (en) * 1972-06-02 1974-05-28 Garrett Comtronics Corp Clock calculator
US4012725A (en) * 1972-07-07 1977-03-15 Hewlett-Packard Company Programmable calculator
US3764986A (en) * 1972-08-09 1973-10-09 Mi2 Columbus Magnetic tape data processing system
US3852521A (en) * 1972-12-26 1974-12-03 Varian Associates Interface for computer and print out system for automatic step and line sync command to printer
US3810107A (en) * 1973-01-18 1974-05-07 Lexitron Corp Electronic text display and processing system
US3827041A (en) * 1973-08-14 1974-07-30 Teletype Corp Display apparatus with visual segment indicia
US3968868A (en) * 1973-12-21 1976-07-13 International Business Machines Corporation Format control system for positioning final copy printed text
US3906457A (en) * 1974-02-15 1975-09-16 Victor Comptometer Corp Display system for an electronic business machine
USRE31790E (en) * 1974-03-13 1985-01-01 Sperry Corporation Shared processor data entry system
US4091446A (en) * 1975-01-24 1978-05-23 Ing. C. Olivetti & C., S.P.A. Desk top electronic computer with a removably mounted ROM
US4130884A (en) * 1975-08-22 1978-12-19 Siemens Aktiengesellschaft Text processing arrangement
US4075679A (en) * 1975-12-08 1978-02-21 Hewlett-Packard Company Programmable calculator
USRE31200E (en) * 1976-01-19 1983-04-05 Xtrak Corporation Raster scan display apparatus for dynamically viewing image elements stored in a random access memory array
US4212077A (en) * 1976-09-22 1980-07-08 Ing. C. Olivetti & C., S.P.A. Text processing system for displaying and editing a line of text
US4321688A (en) * 1976-09-27 1982-03-23 Canon Kabushiki Kaisha Electronic equipment capable of statistic processing
US4080659A (en) * 1977-02-28 1978-03-21 Francini Joseph P Multi-mode file storage calculator
US4189727A (en) * 1978-01-12 1980-02-19 Lexitron Corporation Display advance system for a word processor
US4250560A (en) * 1978-01-16 1981-02-10 Jurgen Dethloff Text processing apparatus
US4259725A (en) * 1979-03-01 1981-03-31 General Electric Company Cursor generator for use in computerized tomography and other image display systems
US4456964A (en) * 1979-06-25 1984-06-26 Hewlett-Packard Company Calculator including means for displaying alphanumeric prompting messages to the operator
US5675827A (en) * 1981-05-21 1997-10-07 Canon Kabushiki Kaisha Information processing system, a processor, and an information processing method for the performing of an arithmetic operation of numeric information
US4597045A (en) * 1982-04-30 1986-06-24 Casio Computer Co. Ltd. Tabulated data calculating apparatus
US4506343A (en) * 1982-05-17 1985-03-19 International Business Machines Corporation Column layout reference area display management
US4809220A (en) * 1984-03-30 1989-02-28 Wang Laboratories, Inc. Electronic processing system using printer and microprocessor to create forms template with pre-printed forms
US4642767A (en) * 1984-04-23 1987-02-10 Moisey Lerner Bookkeeping and accounting system
US4860218A (en) * 1985-09-18 1989-08-22 Michael Sleator Display with windowing capability by addressing
US5117379A (en) * 1986-06-17 1992-05-26 Sharp Kabushiki Kaisha Data processing device for use in statistic calculation
US5053988A (en) * 1987-07-24 1991-10-01 Sharp Kabushiki Kaisha Data processing apparatus
US4908758A (en) * 1987-12-17 1990-03-13 Sanders Michael J Method of operating a computer for rank ordering and weighting category alternatives
US5109518A (en) * 1987-12-28 1992-04-28 Sharp Kabushiki Kaisha Calculator with single-key cursor-left-shift clear function and single-key cursor-right-shift clear function
US5117496A (en) * 1988-05-23 1992-05-26 Hewlett-Packard Company Method for recording and replaying mouse commands by recording the commands and the identities of elements affected by the commands
US5245536A (en) * 1989-11-09 1993-09-14 Sharp Electronics Corporation Portable electronic financial calculator and planner
US5586060A (en) * 1993-06-25 1996-12-17 Sharp Kabushiki Kaisha Compact electronic equipment having a statistical function
US6201358B1 (en) * 1998-08-28 2001-03-13 Sony Corporation Waveform correction using inductance-controllable inductor
US7139729B2 (en) * 1999-12-20 2006-11-21 Jacques Nault Financial statement module
US20160078555A1 (en) * 1999-12-20 2016-03-17 Jacques Nault Reading, organizing and manipulating accounting data
US20070088636A1 (en) * 1999-12-20 2007-04-19 Jacques Nault Reading, organizing and manipulating accounting data
US20070094108A1 (en) * 1999-12-20 2007-04-26 Jacques Nault Display module
US20010044762A1 (en) * 1999-12-20 2001-11-22 Jacques Nault Financial statement module
US7742054B2 (en) 1999-12-20 2010-06-22 Jacques Nault Display module
US7885868B2 (en) * 1999-12-20 2011-02-08 Jacques Nault Reading, organizing and manipulating accounting data
US20110093370A1 (en) * 1999-12-20 2011-04-21 Jacques Nault Reading, Organizing and Manipulating Accounting Data
US8965799B2 (en) 1999-12-20 2015-02-24 Jacques Nault Reading, organizing and manipulating accounting data
US9280286B2 (en) * 2008-08-07 2016-03-08 International Business Machines Corporation Managing GUI control auto-advancing
US20100037158A1 (en) * 2008-08-07 2010-02-11 International Business Machines Corporation Managing gui control auto-advancing
US9990101B2 (en) * 2008-08-07 2018-06-05 International Business Machines Corporation Managing GUI control auto-advancing
US9317875B2 (en) 2012-10-08 2016-04-19 Linkedin Corporation Methods and systems for identifying similar schools
US10565213B2 (en) 2012-10-08 2020-02-18 Microsoft Technology Licensing, Llc Methods and systems for identifying similar schools

Also Published As

Publication number Publication date
FR2022231A1 (en) 1970-07-31
JPS495577B1 (en) 1974-02-07
DE1949919A1 (en) 1970-04-16
GB1274768A (en) 1972-05-17
CA939065A (en) 1973-12-25

Similar Documents

Publication Publication Date Title
US3610902A (en) Electronic statistical calculator and display system
US4475239A (en) Apparatus for text editing and processing
US3786429A (en) Electronic text display system which simulates a typewriter
US3346853A (en) Control/display apparatus
GB1296176A (en)
GB1296175A (en)
US3623012A (en) Accounting system with program by example facilities
JPS631615B2 (en)
US3512132A (en) Composing apparatus with table lookup mode
GB1031235A (en) Calculator apparatus
US3729714A (en) Proportional space character display including uniform character expansion
US3512138A (en) Computer system with printer position recognition and control
GB1006874A (en) Electronic computers
US3711837A (en) Headline counting and printing design device
EP0273764B1 (en) Text processing system
US3643077A (en) Electronic printing digital calculator
US4564304A (en) Typewriter with resetting function for margin position and tab position
GB1036116A (en) Business machine
US3447134A (en) Programming apparatus on a document printer
JP2564742B2 (en) Electronic data processor
JPS62286780A (en) Format data setting apparatus
JPH0735116B2 (en) Data output device
Scott Automatic calculation of specific activities from liquid scintillation counter data using a desk-top computer
JPS5713586A (en) Printing device
US3718911A (en) Carriage-position modification of external program