EP0054620A2 - Data processing terminal - Google Patents
Data processing terminal Download PDFInfo
- Publication number
- EP0054620A2 EP0054620A2 EP81107287A EP81107287A EP0054620A2 EP 0054620 A2 EP0054620 A2 EP 0054620A2 EP 81107287 A EP81107287 A EP 81107287A EP 81107287 A EP81107287 A EP 81107287A EP 0054620 A2 EP0054620 A2 EP 0054620A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- sequence
- pointer
- function
- entry
- sequence table
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/021—Arrangements integrating additional peripherals in a keyboard, e.g. card or barcode reader, optical scanner
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0489—Interaction 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
Definitions
- This invention relates generally to data processing terminals and like computer input/output devices.
- the invention finds particular utility in the operation of a keyboard display terminal.
- control logic for controlling the operation of input/output hardware such as a display terminal often takes the form of a programmed microcomputer.
- the programs written for microcomputers are usually written in machine language or in an assembly language which can be directly translated into machine language. Alternatively, a program can be written in a higher level language and compiled on a larger computer into the machine level language of the microcomputer.
- the operation of the I/O device is relatively rigidly predetermined by the machine language program.
- Machine language programs are usually difficult to modify and modification of the operation of the input/output hardware is a task generally reserved for programmers accustomed to the specific microprocessor being used. If a system has several input/output control microprocessors of different manufacture, changing the system to perform a different application is very difficult and requires a high level of detail knowledge.
- a method of controlling a data processing terminal comprising the steps of: receiving an input signal; translating said input signal to a sequence pointer; accessing a sequence table entry identified by said sequence pointer; accessing a function control statement pointed to by said sequence table entry; executing said function control statement.
- the function controlling information of a program is thus separated from portions of the sequence of execution controlling information, each being stored in the form of tables.
- the function controlling information takes the form of a table including a plurality of function specifying entries.
- the function execution sequence controlling information takes the form of a table of pointers. Accordingly, function controlling entries, each having a plurality of fields for defining, modifying, and specifying the functions and related data to be executed, need not be repetitively duplicated throughout the program. Instead, the shorter pointers to the function table entries can be provided in the sequence table in the sequence in which the functions are to be executed.
- a first level of function specifying information in the sequence table in the form of a bit identifying whether the function to be executed is a complex function, in which case the pointer identifies an entry in the function control statement table, or whether the function to be executed is merely the display of information on a display, in which case the pointer in the sequence table entry specifies an entry in a guidance table.
- FIG. 1 an example embodiment of the invention in the form of an Intel 8085 microprocessor 11 driving a linear light emitting diode display 13 with information from a keyboard 15, a magnetic stripe reader 17, or a host computer 19 is shown.
- the display 13 is connected to the microprocessor 11 by display drive circuits and adapter logic 21.
- Logic 21 has a programmed I/O bus connection 23 to microprocessor 11 and an address and data bus connection 25 to the memory for receiving display data from a memory mapped display output buffer.
- the communication adapter 31 has a programmed I/O bus connection 33 to microprocessor 11 and an address and data connection 35 to the memory.
- the auto call unit 37 and modem unit 39 are connected to communication adapter 31 for communication to host computer 19.
- the keyboard and magnetic stripe reader adapter 41 is similar to the other adapters but, in this case, is also implemented by a microprogrammed microprocessor.
- Adapter 41 has a programmed I/O bus connection 43 to microprocessor 11 and an address and data bus connection 45 to the memory.
- Keyboard 15 and magnetic stripe reader 17 are connected to input and output registers, not shown, which are memory mapped to the microprocessor of adapter 41.
- the available address space of microprocessor 11 is divided into read only storage, read/ write storage, including memory mapped buffers, and the control tables.
- control tables and fixed storage are implemented in CMOS technology so that data stored in these portions of the storage address space can be retained with battery power when A/C power is turned off at the terminal. Merely reloading these short tables permits the terminal's functional characteristics to be altered to suit a different application.
- Some applications in particular point of sale, involve networks of high numbers of terminals, configured in geographically widely dispersed locations. In this case, there is benefit in being able to modify terminal functions as applications change and as more applications are performed, and to control this change from a central site.
- FIG. 2 a logical diagram of the relationship between the keyboard, display, host computer, and read/write storage with various tables is set forth in order to provide a better understanding of the operation of a peripheral processor incorporating the invention.
- a matrix of keys on keyboard 15 provides key coordinate signals to translate table 117 through a plurality of logic gates 119.
- the logic gates 119 in this preferred embodiment are implemented in the micro- program in read only storage 51 of Figure 1.
- the keyboard can be used in two different states.
- a first state is during the wait state when the terminal is waiting for the next command in the form of a function keystroke from the keyboard.
- the coordinates of the function key are gated into translate table 117 which in turn provides the pointer to an entry in the sequence table 63.
- the translate table 117 contains a separate entry for each key.
- Four additional keys are provided on keyboard 15. They are Cancel, Dial, Clear, and Enter.
- each entry in the translate table is an eight bit byte.
- One of the bits in each entry of the translate table specifies whether the key being depressed is a data key or a function key. If the key being depressed is a data key, the remaining seven bits of the byte is the ASCII code for the key being depressed. This ASCII data code is entered into read/write store 53.
- the remaining seven bits are a sequence pointer to an entry in sequence table 63. Although seven bits will point to one hundred and twenty eight different entries, only sixty-four are used as will be explained below.
- Translate table 117 is connected to a sequence pointer register 121 which temporarily stores the sequence pointer received from translate table 117 or received directly from host computer 19.
- Sequence pointer register 121 is part of a stack of two registers including the sequence pointer register 121 and a return register 123.
- the return register 123 is used if a sub-routine call is to be implemented.
- the sequence pointer register is incremented by the microprogram in read only storage 51 function specified for execution by an entry in function control statement table 65, also shown in Table 1.
- the pointer in sequence pointer register 121 points to an entry in sequence table 63.
- Each entry in sequence table 63 is also a single byte entry. Referring to Figure 4, it can be seen that the most significant bit of each byte is used to implement call and return sequencing. If the most significant bit is a binary one, and the next most significant bit is a binary zero, a call sequence is to be executed and the six lesser significant bits are the pointer to the sequence table entry where the called sub-routine sequence is stored. It is this limitation of six lesser significant bits that limits the sequence table 63 to sixty-four entries.
- the call sequence pointer is transferred into sequence pointer register 121 after the contents of sequence pointer register 121 has been pushed into the return register 123.
- sequence 121 now points to the start of the sub-routine, the sequence of functions pointed to by the entries in the sequence table beginning with this new point, are executed in sequence as the microprogram of read/only storage 51 interprets and executes each function control statement and increments sequence pointer register 121.
- sequence table entry has a binary one in the two most significant bit positions, a return to the original sequence is taken by popping the original sequence pointer out of return register 123 into sequence pointer register 121.
- the most significant bit of a sequence table entry is a binary zero, a function is to be executed. If the second most significant bit is also a binary zero, the six lesser significant bits are a pointer into the function control table. If the most significant bit is a binary zero and the next most significant bit is a binary one, the six lesser significant bits are a pointer into the guidance table 67.
- the micro-program in read/only store 51 interprets this all-ibe's-sequence table entry as a command to put the terminal in the wait state and permit a function key stroke from keyboard 15 to start a new sequence via translate table 117.
- FIG. 5 a table is shown indicating the significance of each bit in the four bytes of each function control statement.
- the byte zero is the opcode byte analogous to the opcode of any computer instruction. Because of the limited function of the terminal of this example, only four bits of the opcode byte are required and the least significant four bits have been chosen to implement ten different opcodes.
- Opcode 1 specifies a read keyboard function.
- opcode 3 specifies a read magnetic stripe function.
- Opcode 5 specifies that an immediate data byte from byte 3 is to be read.
- Opcodes 6, 7, 8 and 9 specify that bytes from storage areas 1, 2, 3 and 4 are to be read. These opcodes may be used for dialling.
- Opcode A specifies that the data in the message in read/write storage is to be transmitted to the host computer.
- Opcode B specifies that a branch is to be taken to the sequence table pointed to by the contents of byte one.
- Opcode C specifies that a conditional or selective branch is to be taken.
- the byte one of a function control statement specifies the field length in read statements and is the pointer in fixed and conditional, but not selective, branch statements. Accordingly, when a branch function control statement is being executed, the contents of byte one are transferred to sequence pointer register 121 depending upon whether or not the branch is taken. Note, however, that a selective branch function causes a new sequence pointer to be received from branch table 133.
- Bit 1 is a branch modifier bit which converts a conditional branch opcode C to a selective branch opcode.
- Bit 1 is a branch modifier bit which converts a conditional branch opcode C to a selective branch opcode.
- the selective branch line from function control statement decode 129 to gates 119 in Figure 2 is active. Gates 119 then cause keyboard input signals to access entries in branch table 133 and effectively be translated into sequence pointer values.
- Branch table 133 operates almost identically to translate branch table 117 except that instead of initiating an entirely new sequence of functions, branch table 133 merely causes the sequence of functions being executed to follow one of 16 possible alternatives.
- Bit 2 is the dial modifier bit which causes the data being read from a storage area to be presented to the auto call adapter 37 instead of being transferred to the message buffer in read/write store 53.
- Bit 3 is a left zero fill bit which causes the higher order character positions of a variable length field to be filled out with zeros when the Enter key is depressed.
- Bit 4 is the variable input control bit which permits key entry of less characters than the maximum field length specified by the second byte of the same function control statement. Depression of the enter key causes the data byte in the fourth byte position to be inserted into the input buffer in read/write store 53 as a delimiter byte indicating the end of the field. If the left zero field bit 3 is also on, the maximum field length is filled out with zeros and the key entered data will be right justified in the field.
- Bit 5 of byte two of a function control statement is a wait bit.
- the wait modifier bit modifies a keyboard input opcode to inhibit advance of sequence pointer register 121 until the enter key is depressed. If the wait modifier bit is not a binary one, the key entry field must be fixed length field. The wait bit permits the user to look at the entire entered field before the terminal sequences to the next function to be executed. The operator of the terminal could use the Cancel key or Clear key instead of the Enter key. If the function control statement opcode is transmit, the wait bit modifier causes the terminal to wait for a response message from the host before the sequence pointer register 121 can be incremented to the next sequence step. If the wait bit is off, the terminal proceeds to the next sequence step as soon as transmission of the inbound message to the host has been completed.
- Bit 6 is the hex mode bit and permits data to be read from fixed storage locations 71 of Figure 1 in hexadecimal.
- Modifier bit 7 is the track display modifier for read keyboard, read storage and read immediate opcode.
- the input data When on during execution of a read keyboard function, the input data will be displayed. Data is entered at the right of the display and shifts to the left as each new key entry occurs. During read storage and read immediate function, the displayed data is left justified on the display yielding the same display appearance as when executing a read keyboard function.
- the byte three of the function control statement is the immediate data byte.
- the immediate data byte has four uses. First, during a conditional branch function execution, byte three is compared with the keyboard input to determine if the branch is to be taken. Second, byte three is used as the end of field delimiter on variable length fields. Third, this immediate data byte is the source of input for the read ⁇ immediate command. Fourth, the immediate data byte is used as a displacement into storage 71 when executing a read storage function.
- Table 1 is a list of twenty function control statements and, Table 2, which is an example guidance table.
- Table 3 contains a listing of the sequence table entry numbers, the pertinent function control statement numbers, the pertinent guidance table entry numbers, and comments for each step in the operation of a plurality of transactions which can be executed by the example keyboard display terminal employing the invention.
- Guidance Table 2 is organized in four byte words, just as the function control statement table is organized.
- the guidance table can be viewed as merely an extension of the function control statement Table 1 with the next to the-highest order bit of the sequence table entry interpreted as the next higher order address bit.
- Use of both highest order bits to define CALL and RETURN functions preclude such a simplified implemention in this preferred embodiment, however.
- Each four byte word in the guidance Table 2 is identified by the row number representing the tens position and the column number being the units. For example, display table entry thirty-five begins the message "SWIPE CARD". Because each word includes four bytes, actual addressing involves adding a base address value to four times the guidance message number to get the first byte of the message from memory. An example of a microprogram to implement actual retrieval from memory appears in Table 4.
- Sequence table entry numbers 00 through 12 of Table 3 define a normal charge transaction using a magnetic stripe card.
- Figure 6 shows a flow diagram of the terminal operation under control of the sequences in Table 3. Control of the terminal is transferred from the wait state 151 to sequence table entry number 00 by passing the magnetic stripe card through the card reader. The start of message code on the beginning of the stripe is received directly from adapter 41 by programmed I/O bus 43 for translation at block 159 into the sequence table entry number 00 which is then stored in the sequence pointer register 121 at block. 161.
- Sequence table entry 00 points to function control statement entry 00, which from Table 1, can be seen to be an instruction to read the telephone number from storage location 3 and activate the auto call adapter 37 to dial the telephone number stored in storage location 3 of fixed storage 71. Having activated the auto call adapter 37, at Figure 6, block 181, the microprogram in read only storage 51 increments the count in sequence pointer register 121 at Figure 6, block 183 to point to sequence table entry 01. Sequence table entry 01 points to function control statement 01 which reads the information in fixed storage location 1 of fixed store 71 to provide the header information for the message which will be ultimately transmitted to the host computer. The header information is transferred to the message buffer of read write store 53. Read write store 53 is a part of random access memory operated sequentially by the microprogram.
- sequence table entry numbers 02, 03 and 04 select corresponding instructions in the function control statement table to identify a field, read magnetic stripe data from a hardware magnetic stripe data buffer, and insert an end of field character from the immediate field of functional control statements, 02, 03, and 04.
- Field identification is accomplished by moving the MSR field identifier character byte from the immediate field of function control statement 02 to the message buffer in read write store 53. Magnetic stripe data is read and must be passed to a hardware shift register because it arrives faster than can be handled by the Intel 8041 in adapter 41. The MSR data in the hardware shift register is moved to the microcomputer through the memory mapped KBD DATA/CMDS storage area 57, one byte at a time.
- Sequence 06 points to function control statement entry number 09 to insert a dollar sign in the front of the amount field to be subsequently entered.
- Sequence number 07 points to function control statement 06 which is an instruction to read up to 5 bytes from the keyboard and wait until the enter key has been depressed.
- Sequence numbers 08, 09, ID and 11 cause a display of an "IN PROCESS" guidance message, insert the transmission control characters, and transmit the requested dollar amount to be charged to the host computer and wait for a response.
- the host computer program will act upon the requested charge and return a message such as "Approved” or "Not Approved".
- An approved response may also include an approval number which the clerk is to write on the sales document, or if a printer is part of the terminal, the number can be printed on the document by the printer.
- host display messages are directly displayed on display 13 under control of the microprogram in read only store 51. This is the most efficient way to display response messages from host computer 19 because there is a very low likelihood that there would be a need for the institution owning the terminal to change the method of display at the terminal. This is because the message itself is created at the host computer 19 and can be provided.in any sequence desired.
- the micro- program in read only storage 51 increments sequence pointer register 121 to sequence 12 which contains all one bits. The all one bits are interpreted by the microprogram to return the terminal to the wait state.
- the host computer could display a message on display 13 such as "amount requested too large”. Thereafter, the host computer could send a sequence pointer byte containing the number five to sequence pointer register 121. The new contents of sequence pointer 121 would then reinitiate this normal charge transaction at sequence step 05 causing the display of "Enter Dollar Amount" permitting the terminal user to enter a smaller dollar amount which may be within the line of credit without repeating sequence steps of dialing the telephone and reading the magnetic stripe card.
- the host computer could send a different sequence number to continue the transaction at a different step in the sequence without requiring any change in the microprogram of read only storage 51, and without anticipating at what step in the sequence the transaction need be continued.
- Table 3 shows several transactions, many of which utilize function control statement number 17 to branch to sequence pointer table entry number 5 to complete the transaction. At sequence number 38 of Table 3, however, a branch is taken to sequence number 8 to bypass entering the dollar amount.
- a selective branch . is executed by function control statement 08 to permit the terminal operator to select one of a plurality of transactions from the keyboard by depressing the appropriate key. The operator is guided to depress the appropriate key by the previously displayed prompt message "Enter Function Code”.
- the microprogram of Table 4 has nineteen instructions.
- the first two instructions implement block 163 of Figure 6.
- Instructions five through ten relate to CALL and RETURN which are not shown in Figure 6.
- Instructions eleven, twelve and thirteen perform the decision of decision block 167 in Figure 6.
- Instructions fourteen through eighteen execute the function block 179 and instruction nineteen points to a sub-routine which executes block 181.
Abstract
Description
- This invention relates generally to data processing terminals and like computer input/output devices. The invention finds particular utility in the operation of a keyboard display terminal.
- It is well known to control input/output devices directly by a computer and with the advent of microcomputers, control logic for controlling the operation of input/output hardware such as a display terminal often takes the form of a programmed microcomputer. The programs written for microcomputers are usually written in machine language or in an assembly language which can be directly translated into machine language. Alternatively, a program can be written in a higher level language and compiled on a larger computer into the machine level language of the microcomputer. As a result, the operation of the I/O device is relatively rigidly predetermined by the machine language program. Machine language programs are usually difficult to modify and modification of the operation of the input/output hardware is a task generally reserved for programmers accustomed to the specific microprocessor being used. If a system has several input/output control microprocessors of different manufacture, changing the system to perform a different application is very difficult and requires a high level of detail knowledge.
- Where the program is compiled on a larger computer, significant communication time will be required to transmit the program to the microcomputer. Also modification of the operation of the I/O device to permit error recovery without restarting the entire operation is very difficult. Either, all of the error recovery must be predetermined in the microcomputer program or new programs must be transmitted from the host computer. For example, if a bank's customer has entered the account number, secret number, and amount of withdrawal, it would be advantageous to be able to instruct the customer to re-enter only one of these items if it was received in error at the host. The microcomputer program could be written to accommodate all anticipated error recovery situations, but even then it would be desirable to handle unanticipated situations from a manually attended station at the host computer. If machine level programs must be transmitted from the host computer to the microcomputer, human intervention into a transaction being attempted at a remote cash issuing machine will be very complicated and time consuming.
- It is also well known to program a computer in a higher level language such as APL, which is more readily understood by computer programmers and computer users. Each instruction in the higher level language is often interpreted by the computer into a sequence of simpler machine level instructions which are executed in order to execute the function called for by the higher level instruction. Another example of higher level instruction is a macro instruction, which again is interpreted into the sequence of lower level instructions required to execute the desired function. Whether the higher level instructions are interpreted as mentioned above, compiled, or assembled, the final sequence of machine instruction is defined by the original sequence of higher level instructions.
- It has been found to be costly to implement high level languages such as APL, or macro-languages in microcomputers because the interpreting required for high level languages requires a large amount of read only memory. This overhead interpretation cost is further magnified by the fact that the operation of input/output hardware is not often changed in comparison to the amount of changes that are made in main computer programs and the burden of carrying the higher level language at the input/output level is difficult to justify.
- It is an object of this invention to provide a data processing terminal which has improved facilities for modification without substantially increasing program storage requirements.
- In accordance with this invention there is provided a data processing terminal of the type controlled by programmable computing means to effect transactions composed of sequences of predetermined data processing functions, at least some such functions requiring a series of program steps to be performed by said computing means, characterised by a control table store arranged to contain a set of individually accessible coded function control statements, one for each of said predetermined data processing functions, a sequence table store arranged to contain a set of coded pointers, each identifying an associated function control statement, sequence control means adapted to render pointers from said sequence table store effective in sequence to access their associated function control statements, and decoding logic adapted to decode each function control statement so accessed to cause the series of program steps corresponding to such statement to be performed by said computing means, whereby a transaction is effected by the performance of a sequence of data processing function determined by the function control statement accessed under the control of said sequence control means.
- There is further provided a method of controlling a data processing terminal comprising the steps of: receiving an input signal; translating said input signal to a sequence pointer; accessing a sequence table entry identified by said sequence pointer; accessing a function control statement pointed to by said sequence table entry; executing said function control statement.
- The function controlling information of a program is thus separated from portions of the sequence of execution controlling information, each being stored in the form of tables. The function controlling information takes the form of a table including a plurality of function specifying entries. The function execution sequence controlling information takes the form of a table of pointers. Accordingly, function controlling entries, each having a plurality of fields for defining, modifying, and specifying the functions and related data to be executed, need not be repetitively duplicated throughout the program. Instead, the shorter pointers to the function table entries can be provided in the sequence table in the sequence in which the functions are to be executed.
- Further economy of storage may be obtained by retaining a first level of function specifying information in the sequence table in the form of a bit identifying whether the function to be executed is a complex function, in which case the pointer identifies an entry in the function control statement table, or whether the function to be executed is merely the display of information on a display, in which case the pointer in the sequence table entry specifies an entry in a guidance table.
- An example of how the invention may be put into effect will now be described with reference to the accompanying drawings, in which:-
- FIGURE 1 is a schematic diagram showing physical wiring connections between a control microcomputer and input/output hardware embodying the invention.
- FIGURE 2 is a diagram showing the logical relationship of the microprocessor, the read only storage microprogram, and the read/ write storage of Figure 1.
- FIGURE 3 shows the start/translate table entry format.
- FIGURE 4 shows the sequence table entry format.
- FIGURE 5 shows the meanings of the various bits of the various fields of the function control statement table entries.
- FIGURE 6 shows a flow diagram of the operation of a terminal using the invention.
- Referring to Figure 1, an example embodiment of the invention in the form of an Intel 8085
microprocessor 11 driving a linear lightemitting diode display 13 with information from akeyboard 15, amagnetic stripe reader 17, or ahost computer 19 is shown. Thedisplay 13 is connected to themicroprocessor 11 by display drive circuits andadapter logic 21.Logic 21 has a programmed I/O bus connection 23 tomicroprocessor 11 and an address anddata bus connection 25 to the memory for receiving display data from a memory mapped display output buffer. Likewise, thecommunication adapter 31 has a programmed I/O bus connection 33 tomicroprocessor 11 and an address anddata connection 35 to the memory. Theauto call unit 37 andmodem unit 39 are connected tocommunication adapter 31 for communication to hostcomputer 19. The keyboard and magneticstripe reader adapter 41 is similar to the other adapters but, in this case, is also implemented by a microprogrammed microprocessor.Adapter 41 has a programmed I/O bus connection 43 tomicroprocessor 11 and an address and data bus connection 45 to the memory.Keyboard 15 andmagnetic stripe reader 17 are connected to input and output registers, not shown, which are memory mapped to the microprocessor ofadapter 41. As shown in the block contiguous withmicroprocessor 11, the available address space ofmicroprocessor 11 is divided into read only storage, read/ write storage, including memory mapped buffers, and the control tables. The control tables and fixed storage are implemented in CMOS technology so that data stored in these portions of the storage address space can be retained with battery power when A/C power is turned off at the terminal. Merely reloading these short tables permits the terminal's functional characteristics to be altered to suit a different application. - Some applications, in particular point of sale, involve networks of high numbers of terminals, configured in geographically widely dispersed locations. In this case, there is benefit in being able to modify terminal functions as applications change and as more applications are performed, and to control this change from a central site.
- Referring now to Fig. 2, a logical diagram of the relationship between the keyboard, display, host computer, and read/write storage with various tables is set forth in order to provide a better understanding of the operation of a peripheral processor incorporating the invention. A matrix of keys on
keyboard 15 provides key coordinate signals to translate table 117 through a plurality oflogic gates 119. Thelogic gates 119 in this preferred embodiment are implemented in the micro- program in read onlystorage 51 of Figure 1. - During normal operation, the keyboard can be used in two different states. A first state is during the wait state when the terminal is waiting for the next command in the form of a function keystroke from the keyboard. When a function key is depressed while the terminal is in the wait state, the coordinates of the function key are gated into translate table 117 which in turn provides the pointer to an entry in the sequence table 63. The translate table 117 contains a separate entry for each key. In the embodiment of this example, there are ten numeric keys and six function/data keys for a total of sixteen. Accordingly, the translate table need have only sixteen entries. Four additional keys are provided on
keyboard 15. They are Cancel, Dial, Clear, and Enter. The functions performed by these keys are permanent in nature and can, therefore, be permanently implemented in the microprogram of read onlystorage 51 and need not be translated in accordance with the invention. A further explanation of these permanent functions will be provided subsequently as part of the explanation of the operation of the invention. - In this example, each entry in the translate table is an eight bit byte. One of the bits in each entry of the translate table specifies whether the key being depressed is a data key or a function key. If the key being depressed is a data key, the remaining seven bits of the byte is the ASCII code for the key being depressed. This ASCII data code is entered into read/
write store 53. - If the key being depressed is a function key, the remaining seven bits are a sequence pointer to an entry in sequence table 63. Although seven bits will point to one hundred and twenty eight different entries, only sixty-four are used as will be explained below.
- Translate table 117 is connected to a
sequence pointer register 121 which temporarily stores the sequence pointer received from translate table 117 or received directly fromhost computer 19.Sequence pointer register 121 is part of a stack of two registers including thesequence pointer register 121 and areturn register 123. Thereturn register 123 is used if a sub-routine call is to be implemented. The sequence pointer register is incremented by the microprogram in read onlystorage 51 function specified for execution by an entry in function control statement table 65, also shown in Table 1. - As previously stated, the pointer in
sequence pointer register 121 points to an entry in sequence table 63. Each entry in sequence table 63 is also a single byte entry. Referring to Figure 4, it can be seen that the most significant bit of each byte is used to implement call and return sequencing. If the most significant bit is a binary one, and the next most significant bit is a binary zero, a call sequence is to be executed and the six lesser significant bits are the pointer to the sequence table entry where the called sub-routine sequence is stored. It is this limitation of six lesser significant bits that limits the sequence table 63 to sixty-four entries. The call sequence pointer is transferred intosequence pointer register 121 after the contents ofsequence pointer register 121 has been pushed into thereturn register 123. Inasmuch assequence 121 now points to the start of the sub-routine, the sequence of functions pointed to by the entries in the sequence table beginning with this new point, are executed in sequence as the microprogram of read/only storage 51 interprets and executes each function control statement and incrementssequence pointer register 121. When a sequence table entry has a binary one in the two most significant bit positions, a return to the original sequence is taken by popping the original sequence pointer out ofreturn register 123 intosequence pointer register 121. - If the most significant bit of a sequence table entry is a binary zero, a function is to be executed. If the second most significant bit is also a binary zero, the six lesser significant bits are a pointer into the function control table. If the most significant bit is a binary zero and the next most significant bit is a binary one, the six lesser significant bits are a pointer into the guidance table 67.
- A sequence table entry of all binary one's (hex FF), signifies that the end of a sequence has been encountered. The micro-program in read/
only store 51 interprets this all-ibe's-sequence table entry as a command to put the terminal in the wait state and permit a function key stroke fromkeyboard 15 to start a new sequence via translate table 117. - Referring now to Figure 5, a table is shown indicating the significance of each bit in the four bytes of each function control statement. The byte zero is the opcode byte analogous to the opcode of any computer instruction. Because of the limited function of the terminal of this example, only four bits of the opcode byte are required and the least significant four bits have been chosen to implement ten different opcodes.
-
Opcode 1 specifies a read keyboard function.opcode 3 specifies a read magnetic stripe function.Opcode 5 specifies that an immediate data byte frombyte 3 is to be read.Opcodes storage areas - The byte one of a function control statement specifies the field length in read statements and is the pointer in fixed and conditional, but not selective, branch statements. Accordingly, when a branch function control statement is being executed, the contents of byte one are transferred to sequence
pointer register 121 depending upon whether or not the branch is taken. Note, however, that a selective branch function causes a new sequence pointer to be received from branch table 133. - Byte two of each function control statement, as shown in Figure 5, constitutes an opcode modifier byte.
Bit 1 is a branch modifier bit which converts a conditional branch opcode C to a selective branch opcode. When a selective branch function is executed, the selective branch line from function control statement decode 129 togates 119 in Figure 2 is active.Gates 119 then cause keyboard input signals to access entries in branch table 133 and effectively be translated into sequence pointer values. Branch table 133 operates almost identically to translate branch table 117 except that instead of initiating an entirely new sequence of functions, branch table 133 merely causes the sequence of functions being executed to follow one of 16 possible alternatives. -
Bit 2 is the dial modifier bit which causes the data being read from a storage area to be presented to theauto call adapter 37 instead of being transferred to the message buffer in read/write store 53. -
Bit 3 is a left zero fill bit which causes the higher order character positions of a variable length field to be filled out with zeros when the Enter key is depressed. -
Bit 4 is the variable input control bit which permits key entry of less characters than the maximum field length specified by the second byte of the same function control statement. Depression of the enter key causes the data byte in the fourth byte position to be inserted into the input buffer in read/write store 53 as a delimiter byte indicating the end of the field. If the left zerofield bit 3 is also on, the maximum field length is filled out with zeros and the key entered data will be right justified in the field. -
Bit 5 of byte two of a function control statement is a wait bit. The wait modifier bit modifies a keyboard input opcode to inhibit advance ofsequence pointer register 121 until the enter key is depressed. If the wait modifier bit is not a binary one, the key entry field must be fixed length field. The wait bit permits the user to look at the entire entered field before the terminal sequences to the next function to be executed. The operator of the terminal could use the Cancel key or Clear key instead of the Enter key. If the function control statement opcode is transmit, the wait bit modifier causes the terminal to wait for a response message from the host before thesequence pointer register 121 can be incremented to the next sequence step. If the wait bit is off, the terminal proceeds to the next sequence step as soon as transmission of the inbound message to the host has been completed. -
Bit 6 is the hex mode bit and permits data to be read from fixedstorage locations 71 of Figure 1 in hexadecimal. -
Modifier bit 7 is the track display modifier for read keyboard, read storage and read immediate opcode. When on during execution of a read keyboard function, the input data will be displayed. Data is entered at the right of the display and shifts to the left as each new key entry occurs. During read storage and read immediate function, the displayed data is left justified on the display yielding the same display appearance as when executing a read keyboard function. - The byte three of the function control statement is the immediate data byte. The immediate data byte has four uses. First, during a conditional branch function execution, byte three is compared with the keyboard input to determine if the branch is to be taken. Second, byte three is used as the end of field delimiter on variable length fields. Third, this immediate data byte is the source of input for the read ¡immediate command. Fourth, the immediate data byte is used as a displacement into
storage 71 when executing a read storage function. - Having described the structure and implementation of the invention, the operation of a terminal employing method and apparatus according to the invention will be explained with reference to Table 1, which is a list of twenty function control statements and, Table 2, which is an example guidance table. Table 3 contains a listing of the sequence table entry numbers, the pertinent function control statement numbers, the pertinent guidance table entry numbers, and comments for each step in the operation of a plurality of transactions which can be executed by the example keyboard display terminal employing the invention.
- Guidance Table 2, above, is organized in four byte words, just as the function control statement table is organized. In fact, the guidance table can be viewed as merely an extension of the function control statement Table 1 with the next to the-highest order bit of the sequence table entry interpreted as the next higher order address bit. Use of both highest order bits to define CALL and RETURN functions preclude such a simplified implemention in this preferred embodiment, however.
- Each four byte word in the guidance Table 2 is identified by the row number representing the tens position and the column number being the units. For example, display table entry thirty-five begins the message "SWIPE CARD". Because each word includes four bytes, actual addressing involves adding a base address value to four times the guidance message number to get the first byte of the message from memory. An example of a microprogram to implement actual retrieval from memory appears in Table 4.
- Sequence
table entry numbers 00 through 12 of Table 3 define a normal charge transaction using a magnetic stripe card. Figure 6 shows a flow diagram of the terminal operation under control of the sequences in Table 3. Control of the terminal is transferred from thewait state 151 to sequencetable entry number 00 by passing the magnetic stripe card through the card reader. The start of message code on the beginning of the stripe is received directly fromadapter 41 by programmed I/O bus 43 for translation atblock 159 into the sequencetable entry number 00 which is then stored in thesequence pointer register 121 at block. 161.Sequence table entry 00 points to functioncontrol statement entry 00, which from Table 1, can be seen to be an instruction to read the telephone number fromstorage location 3 and activate theauto call adapter 37 to dial the telephone number stored instorage location 3 of fixedstorage 71. Having activated theauto call adapter 37, at Figure 6, block 181, the microprogram in read onlystorage 51 increments the count insequence pointer register 121 at Figure 6, block 183 to point to sequence table entry 01. Sequence table entry 01 points to function control statement 01 which reads the information in fixedstorage location 1 of fixedstore 71 to provide the header information for the message which will be ultimately transmitted to the host computer. The header information is transferred to the message buffer of readwrite store 53. Readwrite store 53 is a part of random access memory operated sequentially by the microprogram. That is, the first byte goes in the first byte location and any subsequently written byte is stored in a following byte location under control of the microprogram in read onlystorage 51. Subsequent sequence table entry numbers 02, 03 and 04 select corresponding instructions in the function control statement table to identify a field, read magnetic stripe data from a hardware magnetic stripe data buffer, and insert an end of field character from the immediate field of functional control statements, 02, 03, and 04. - Field identification is accomplished by moving the MSR field identifier character byte from the immediate field of function control statement 02 to the message buffer in read
write store 53. Magnetic stripe data is read and must be passed to a hardware shift register because it arrives faster than can be handled by the Intel 8041 inadapter 41. The MSR data in the hardware shift register is moved to the microcomputer through the memory mapped KBD DATA/CMDS storage area 57, one byte at a time. - When the microprogram in read only
storage 51 increments thesequence pointer register 121 to sequence table entry 05, a binary one bit is found at Figure 6, block 167, in the next to the highest bit position causing the binary number three in the six lower order positions to be interpreted as the third word of the guidance table shown in Table 2. Guidance table words three through seven contain the guidance display message "ENTER DOLLAR AMOUNT". A hex FF appears after the word AMOUNT, which is recognized by the microprogram in read onlystorage 51 as an end of guidance message character at Figure 6, block 173 to again increment thesequence pointer register 21 to sequence 06. The guidance message remains ondisplay 13 until the next function control statement has been fully executed. Sequence 06 points to function control statement entry number 09 to insert a dollar sign in the front of the amount field to be subsequently entered. Sequence number 07 points to function control statement 06 which is an instruction to read up to 5 bytes from the keyboard and wait until the enter key has been depressed. Sequence numbers 08, 09, ID and 11 cause a display of an "IN PROCESS" guidance message, insert the transmission control characters, and transmit the requested dollar amount to be charged to the host computer and wait for a response. - The host computer program will act upon the requested charge and return a message such as "Approved" or "Not Approved". An approved response may also include an approval number which the clerk is to write on the sales document, or if a printer is part of the terminal, the number can be printed on the document by the printer. In this example, host display messages are directly displayed on
display 13 under control of the microprogram in read onlystore 51. This is the most efficient way to display response messages fromhost computer 19 because there is a very low likelihood that there would be a need for the institution owning the terminal to change the method of display at the terminal. This is because the message itself is created at thehost computer 19 and can be provided.in any sequence desired. - After a response message has been received from
host computer 19 and displayed ondisplay 13, the micro- program in read onlystorage 51 incrementssequence pointer register 121 to sequence 12 which contains all one bits. The all one bits are interpreted by the microprogram to return the terminal to the wait state. - In the event that the dollar amount requested was excessive, the host computer could display a message on
display 13 such as "amount requested too large". Thereafter, the host computer could send a sequence pointer byte containing the number five to sequencepointer register 121. The new contents ofsequence pointer 121 would then reinitiate this normal charge transaction at sequence step 05 causing the display of "Enter Dollar Amount" permitting the terminal user to enter a smaller dollar amount which may be within the line of credit without repeating sequence steps of dialing the telephone and reading the magnetic stripe card. Alternately, at the discretion of the institution owning the terminal, the host computer could send a different sequence number to continue the transaction at a different step in the sequence without requiring any change in the microprogram of readonly storage 51, and without anticipating at what step in the sequence the transaction need be continued. - The remainder of Table 3 shows several transactions, many of which utilize function
control statement number 17 to branch to sequence pointertable entry number 5 to complete the transaction. At sequence number 38 of Table 3, however, a branch is taken to sequencenumber 8 to bypass entering the dollar amount. - At sequence step 24 of Table 3, a selective branch . is executed by function control statement 08 to permit the terminal operator to select one of a plurality of transactions from the keyboard by depressing the appropriate key. The operator is guided to depress the appropriate key by the previously displayed prompt message "Enter Function Code".
-
- .As can be seen from a review of the Tables 1 through 3, flexible operation of a peripheral I/O device can be obtained without consideration of every possible change in a transaction which might be desired by the institution owning the terminal.
- Referring now to Table 4 above, an example micro- program for programming an Intel 8085 microcomputer to execute the example operation of fetching the next function control statement is set forth. Because the machine language of the Intel 8085 is well known in the published literature, an explanation of the instructions in this program will not be stated in detail.
- The microprogram of Table 4 has nineteen instructions. The first two instructions implement
block 163 of Figure 6. Instructions five through ten relate to CALL and RETURN which are not shown in Figure 6. Instructions eleven, twelve and thirteen perform the decision ofdecision block 167 in Figure 6. Instructions fourteen through eighteen execute thefunction block 179 and instruction nineteen points to a sub-routine which executesblock 181.
Claims (7)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/218,143 US4575816A (en) | 1980-12-19 | 1980-12-19 | Interactive transactions processor using sequence table pointers to access function table statements controlling execution of specific interactive functions |
US218143 | 1980-12-19 |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0054620A2 true EP0054620A2 (en) | 1982-06-30 |
EP0054620A3 EP0054620A3 (en) | 1983-05-11 |
EP0054620B1 EP0054620B1 (en) | 1986-01-22 |
Family
ID=22813930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP81107287A Expired EP0054620B1 (en) | 1980-12-19 | 1981-09-16 | Data processing terminal |
Country Status (8)
Country | Link |
---|---|
US (1) | US4575816A (en) |
EP (1) | EP0054620B1 (en) |
JP (1) | JPH0664533B2 (en) |
AU (1) | AU543210B2 (en) |
BR (1) | BR8107759A (en) |
CA (1) | CA1168370A (en) |
DE (1) | DE3173566D1 (en) |
ES (1) | ES507314A0 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0121293A1 (en) * | 1983-02-24 | 1984-10-10 | Jostens Learning Systems, Inc. | Phrase-programmable digital speech system |
US4639877A (en) * | 1983-02-24 | 1987-01-27 | Jostens Learning Systems, Inc. | Phrase-programmable digital speech system |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4660168A (en) * | 1984-03-14 | 1987-04-21 | Grant Elwyn E | Apparatus for completing a customer initiated ATM transaction |
EP0168054B1 (en) * | 1984-07-11 | 1991-10-09 | Hitachi, Ltd. | Method and system for data driven information processing |
US4866254A (en) * | 1985-08-09 | 1989-09-12 | Hitachi, Ltd. | Automatic bill transaction system |
US5231599A (en) * | 1988-12-01 | 1993-07-27 | Bull Hn Information Systems Inc. | Semantic interpreter for an incoming data stream |
US5359507A (en) * | 1989-04-07 | 1994-10-25 | Mitsubishi Denki Kabushiki Kaisha | Sequence controller |
CA2025142A1 (en) * | 1989-09-28 | 1991-03-29 | John W. White | Portable and dynamic distributed applications architecture |
US5212775A (en) * | 1990-01-04 | 1993-05-18 | National Semiconductor Corporation | Method and apparatus for observing internal memory-mapped registers |
US5623664A (en) * | 1994-07-25 | 1997-04-22 | Motorola, Inc. | Interactive memory organization system and method therefor |
US5613119A (en) * | 1994-07-25 | 1997-03-18 | Motorola Inc. | Data processor initialization program and method therefor |
US6466962B2 (en) | 1995-06-07 | 2002-10-15 | International Business Machines Corporation | System and method for supporting real-time computing within general purpose operating systems |
US5809268A (en) * | 1995-06-29 | 1998-09-15 | International Business Machines Corporation | Method and system for tracking resource allocation within a processor |
US7708189B1 (en) | 2002-05-17 | 2010-05-04 | Cipriano Joseph J | Identification verification system and method |
US7860318B2 (en) | 2004-11-09 | 2010-12-28 | Intelli-Check, Inc | System and method for comparing documents |
US20080017203A1 (en) * | 2006-07-19 | 2008-01-24 | Barry Smith Fagg | Apparatus and methods for manufacturing cigarette tubes |
US20100006261A1 (en) | 2006-09-19 | 2010-01-14 | Mitsubishi Electric Corporation | Moving Body Cooling Apparatus |
KR20100009952A (en) * | 2008-07-21 | 2010-01-29 | 삼성에스디아이 주식회사 | Method for driving plasma display panel, and plasma display apparatus adopting the method |
IL230063B (en) | 2013-12-19 | 2018-06-28 | Compulite Systems 2000 Ltd | Technique for controlling order of selection |
US10373409B2 (en) | 2014-10-31 | 2019-08-06 | Intellicheck, Inc. | Identification scan in compliance with jurisdictional or other rules |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2257112A1 (en) * | 1974-01-03 | 1975-08-01 | Honeywell Bull Soc Ind | |
US4065810A (en) * | 1977-01-26 | 1977-12-27 | International Business Machines Corporation | Data transfer system |
EP0014312A2 (en) * | 1979-02-02 | 1980-08-20 | International Business Machines Corporation | Terminal, and transaction executing system using such a terminal |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3629850A (en) * | 1966-11-25 | 1971-12-21 | Singer Co | Flexible programming apparatus for electronic computers |
US4480305A (en) * | 1971-06-15 | 1984-10-30 | Hewlett-Packard Company | Programmable calculator including editing capability |
US4091446A (en) * | 1975-01-24 | 1978-05-23 | Ing. C. Olivetti & C., S.P.A. | Desk top electronic computer with a removably mounted ROM |
JPS51131238A (en) * | 1975-05-10 | 1976-11-15 | Tokyo Electric Co Ltd | Electronic register |
US4107782A (en) * | 1975-10-10 | 1978-08-15 | Texas Instruments Incorporated | Prompting programmable calculator |
DE2622140C3 (en) * | 1976-05-19 | 1981-11-26 | Ibm Deutschland Gmbh, 7000 Stuttgart | Device for controlling manual operations |
IT1071378B (en) * | 1976-09-22 | 1985-04-02 | Olivetti & Co Spa | AUTOMATIC WRITING SYSTEM |
JPS5344140A (en) * | 1976-10-05 | 1978-04-20 | Tokyo Electric Co Ltd | Electronic cash register |
US4115853A (en) * | 1976-12-21 | 1978-09-19 | Allen-Bradley Company | Jump structure for a digital control system |
US4308582A (en) * | 1977-01-25 | 1981-12-29 | International Business Machines Corp. | Precursory set-up for a word processing system |
US4200913A (en) * | 1977-04-13 | 1980-04-29 | International Business Machines Corporation | Operator controlled programmable keyboard apparatus |
JPS5518383A (en) * | 1978-07-28 | 1980-02-08 | Toyoda Mach Works Ltd | Numerical controller for controlling grinding |
JPS55129826A (en) * | 1979-03-28 | 1980-10-08 | Canon Inc | Input unit |
US4314329A (en) * | 1980-02-04 | 1982-02-02 | Cincinnati Milacron Inc. | Method and apparatus for using a computer numerical control to control a machine cycle of operation |
US4374625A (en) * | 1980-05-01 | 1983-02-22 | Ibm Corporation | Text recorder with automatic word ending |
-
1980
- 1980-12-19 US US06/218,143 patent/US4575816A/en not_active Expired - Lifetime
-
1981
- 1981-09-16 DE DE8181107287T patent/DE3173566D1/en not_active Expired
- 1981-09-16 EP EP81107287A patent/EP0054620B1/en not_active Expired
- 1981-10-09 CA CA000387659A patent/CA1168370A/en not_active Expired
- 1981-11-11 AU AU77371/81A patent/AU543210B2/en not_active Ceased
- 1981-11-20 ES ES507314A patent/ES507314A0/en active Granted
- 1981-11-27 BR BR8107759A patent/BR8107759A/en unknown
- 1981-12-04 JP JP56194617A patent/JPH0664533B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2257112A1 (en) * | 1974-01-03 | 1975-08-01 | Honeywell Bull Soc Ind | |
US4065810A (en) * | 1977-01-26 | 1977-12-27 | International Business Machines Corporation | Data transfer system |
EP0014312A2 (en) * | 1979-02-02 | 1980-08-20 | International Business Machines Corporation | Terminal, and transaction executing system using such a terminal |
Non-Patent Citations (6)
Title |
---|
HEWLETT-PACKARD JOURNAL, vol. 30, no. 7, July 1979, pages 9-13, Palo Alto, USA * |
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 18, no. 10, March 1976, pages 3500-3501, New York, USA * |
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 19, no. 8, January 1977, pages 2853-2855, New York, USA * |
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 21, no. 7, December 1978, pages 2667-2670, New York, USA * |
NTG Fachberichte, vol. 62, 1978, pp. 179-180 * |
Ralston, "Encyclopedia of Computer Science", 1976, pp. 1393,1397 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0121293A1 (en) * | 1983-02-24 | 1984-10-10 | Jostens Learning Systems, Inc. | Phrase-programmable digital speech system |
US4639877A (en) * | 1983-02-24 | 1987-01-27 | Jostens Learning Systems, Inc. | Phrase-programmable digital speech system |
US4675840A (en) * | 1983-02-24 | 1987-06-23 | Jostens Learning Systems, Inc. | Speech processor system with auxiliary memory access |
Also Published As
Publication number | Publication date |
---|---|
BR8107759A (en) | 1982-08-31 |
AU7737181A (en) | 1982-06-24 |
EP0054620A3 (en) | 1983-05-11 |
US4575816A (en) | 1986-03-11 |
DE3173566D1 (en) | 1986-03-06 |
EP0054620B1 (en) | 1986-01-22 |
JPS57125429A (en) | 1982-08-04 |
CA1168370A (en) | 1984-05-29 |
ES8302336A1 (en) | 1983-01-01 |
JPH0664533B2 (en) | 1994-08-22 |
AU543210B2 (en) | 1985-04-04 |
ES507314A0 (en) | 1983-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0054620B1 (en) | Data processing terminal | |
RU2137184C1 (en) | Data displaying using multiple instruction sets | |
USRE43248E1 (en) | Interoperability with multiple instruction sets | |
KR850001015B1 (en) | Pipeline control data processing system between operands | |
Richards | The portability of the BCPL compiler | |
US3739352A (en) | Variable word width processor control | |
US4692858A (en) | Visual interface between user and computer system | |
EP0730226B1 (en) | Hardware support for fast software emulation of unimplemented instructions | |
US5530961A (en) | Terminal emulator enhancer with local configurability | |
US4692896A (en) | Method of processing a plurality of code systems | |
Moore | FORTH: a new way to program a mini computer | |
US3930236A (en) | Small micro program data processing system employing multi-syllable micro instructions | |
US4382278A (en) | Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache | |
CA1172377A (en) | Text processor having an interactive display terminal which alternately functions as a data processing terminal | |
JPS5918737B2 (en) | data processing system | |
US4005391A (en) | Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets | |
US4042914A (en) | Microprogrammed control of foreign processor control functions | |
JP2002502516A (en) | Selective emulation interpretation using post-translation instructions | |
US6978358B2 (en) | Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers | |
US6499099B1 (en) | Central processing unit method and apparatus for extending general instructions with extension data of an extension register | |
US3969702A (en) | Electronic computer with independent functional networks for simultaneously carrying out different operations on the same data | |
EP0363174A2 (en) | Branch on bit processing | |
US5309566A (en) | System and method for character translation | |
GB2039109A (en) | Computer system with subordinate cip processor | |
US4488254A (en) | Method and apparatus for efficient data storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19810916 |
|
AK | Designated contracting states |
Designated state(s): BE CH DE FR GB IT NL SE |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Designated state(s): BE CH DE FR GB IT LI NL SE |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Designated state(s): BE CH DE FR GB IT LI NL SE |
|
REF | Corresponds to: |
Ref document number: 3173566 Country of ref document: DE Date of ref document: 19860306 |
|
ET | Fr: translation filed | ||
ITF | It: translation for a ep patent filed |
Owner name: IBM - DR. ARRABITO MICHELANGELO |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
ITTA | It: last paid annual fee | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: CH Payment date: 19931216 Year of fee payment: 13 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Effective date: 19940930 Ref country code: CH Effective date: 19940930 |
|
EAL | Se: european patent in force in sweden |
Ref document number: 81107287.5 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: SE Payment date: 20000810 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20000904 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20000918 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20000920 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 20000930 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: BE Payment date: 20001009 Year of fee payment: 20 |
|
BE20 | Be: patent expired |
Free format text: 20010916 *INTERNATIONAL BUSINESS MACHINES CORP. |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20010915 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20010916 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 20010929 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: PE20 Effective date: 20010915 |
|
NLV7 | Nl: ceased due to reaching the maximum lifetime of a patent |
Effective date: 20010916 |
|
EUG | Se: european patent has lapsed |
Ref document number: 81107287.5 |