|
|
|
| United States Patent | 4724521 |
| Link to this page | http://www.wikipatents.com/4724521.html |
| Inventor(s) | Carron; James M. (Aiea, HI);
Uechi; Brian K. (Honolulu, HI);
Khan; Mohammed A. (Honolulu, HI);
Royston, III; Clifton W. (Honolulu, HI);
Abel; Jay A. (Honolulu, HI);
Ferlane; Bradley J. (Honolulu, HI);
Loui; Robert K. L. (Honolulu, HI);
Pape, III; William R. (Papaaloa, HI) |
| Abstract | The present invention provides methods for operating a local terminal which
includes a programmable computer so that the terminal executes a
pre-arranged application program. More specifically, the present invention
provides methods for operating a local terminal according to a
pre-arranged application program which is created on a remote computer,
then communicated by a communication channel to the local terminal where
it is stored for execution. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 4724521 |
|
|
Method for operating a local terminal to execute a downloaded
application program |
|
| Inventor |
Carron; James M. (Aiea, HI);
Uechi; Brian K. (Honolulu, HI);
Khan; Mohammed A. (Honolulu, HI);
Royston, III; Clifton W. (Honolulu, HI);
Abel; Jay A. (Honolulu, HI);
Ferlane; Bradley J. (Honolulu, HI);
Loui; Robert K. L. (Honolulu, HI);
Pape, III; William R. (Papaaloa, HI) |
|
|
|
| Publication Date |
February 9, 1988 |
|
|
|
|
|
| Filing Date |
January 14, 1986 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
Claims  |
|
|
What is claimed is:
1. In a method for operating a local terminal which includes a local
computer system comprising a central processor unit, a read only memory
coupled to said central processor unit, a random access memory coupled to
said central processor unit, and a communication channel coupled to said
central processor unit for communicating with a remote computer system,
the steps of:
a. establishing a set of general purpose operation routines to be executed
by said local computer system, each of said general purpose operation
routines comprising a set of instructions for execution by said central
processor unit in a prearranged manner to accomplish a specific task;
b. storing said set of general purpose operation routines in said read only
memory;
c. defining a set of commands where each command of said set of commands is
associated with a specific general purpose operation routine and including
at least an operation code of a plurality of operation codes relating said
command to said specific general purpose operation routine, each of said
commands having an associated command code length which is either equal to
or, in most cases, substantially less than the code length of said
specific general purpose operation routine;
d. establishing at said remote computer system at least one application
program module comprising a prearranged sequence of said commands;
e. communicating said application program module from said remote computer
system to said local computer system via said communication channel,
including the step of storing for each of said set of commands said
operation code associated with said prearranged sequence of commands in
said random access memory; and
f. establishing in said local computer system a program execution routine
for enabling said central processor unit to execute said application
program module by repetitively performing the steps of:
(1) reading said associated operation code stored in said random access
memory;
(2) accessing a specific general purpose operation routine associated with
said read operation code; and
(3) executing said specific general purpose operation routine.
2. In a method for operating a local terminal which includes a local
computer system comprising a central processor unit, a read only memory
coupled to said central processor unit, a random access memory coupled to
said central processor unit, and a communication channel coupled to said
central processor unit for communicating with a remote computer system,
the steps of:
a. defining a set of different specific tasks to be carried out by said
local computer system;
b. establishing a set of general purpose operation routines to be executed
by said local computer system, each comprising a set of instructions for
execution by said central processor unit in a prearranged manner to
accomplish one of said specific tasks;
c. storing said set of general purpose operation routines in said read only
memory;
d. defining a set of commands where each command of said set of commands is
associated with a specific one of said general purpose operation routines
and including at least an operation code relating said command to said
specific general purpose operation routine, each of said commands having
an associated command code length which is either equal to or, in most
cases, substantially less than the code length of said associated general
purpose operation routine;
e. establishing at said remote computer system at least one application
program module comprising a prearranged sequence of said commands defining
a desired functional feature for said local terminal;
f. communicating said application program module from said remote computer
system to said local computer system via said communication channel,
including the step of storing for each of said set of commands said
operation code associated with said prearranged sequence of commands in
said random access memory; and
g. establishing in said local computer system a program execution routine
for enabling said central processor unit to execute said application
program module by repetitively performing the steps of:
(1) reading said associated operation code stored in said random access
memory;
(2) accessing a specific general purpose operation routine associated with
said associated operation code; and
(3) executing said specific general purpose operation routine.
3. In a method for operating a local terminal to perform a set of
predefined functions, said local terminal including a local computer
system comprising a central processor unit, a read only memory coupled to
said central processor unit, a random access memory coupled to said
central processor unit, and a communication channel coupled to said
central processor unit for communicating with a remote computer system,
and input means for selecting one of said predefined functions, the steps
of:
a. establishing a set of general purposes operation routines to be executed
by said local computer system, each of said general purpose operation
routines comprising a set of instructions for execution by said central
processor unit in a prearranged manner to accomplish a specific task;
b. storing said set of general purpose operation routines in said read only
memory;
c. defining a set of commands where each command of said set of commands is
associated with a specific general purpose operation routine and including
at least an operation code relating said commands to said specific general
purpose operation routine, each of said commands having an associated
command code length which is either to or, in most cases, substantially
less than the code length of said specific general purpose operation
routine;
d. establishing at said remote computer system a plurality of application
programs, each of said application programs comprising a different set of
application program modules which together define a different set of
predefined functions for a local terminal to perform, each of said
application program modules comprising a prearranged sequence of said set
of commands to provide one of said predefined functions;
e. communicating a preselected application program from said remote
computer system to said local computer system via said communication
channel, including the step of storing for each of said set of commands
said operation code associated with said prearranged sequence of commands
in each of said application program modules of said preselected
application program in said random access memory; and
f. establishing in said local computer system a program execution routine
for enabling said central processor unit to execute a selected one of said
application program modules in response to said input means by
repetitively performing the steps of:
(1) reading said associated operation code associated with said selected
application program module stored in said random access memory;
(2) accessing a specific general purpose operation routine associated with
said associated operation code; and
(3) executing said specific general purpose operation routine.
4. The method of claim 1, wherein said step
a. includes the steps of:
(1) establishing as a first one of said general purpose operation routines
a START PROGRAM routine comprising machine instructions for calling for
execution of a specified application program module;
(2) and establishing as a second one of said general purpose operation
routines a WAIT routine comprising machine instructions for suspending
execution of an application program module in which an operation code
corresponding to said WAIT routine appears;
step d. comprises establishing a plurality of application program modules
each comprising a sequence of said operation code, at least a first one of
said application program modules including an operation code associated
with said START PROGRAM routine for calling for execution of a specified
second one of said application program modules, and at least one of said
first and second application program modules including an operation code
associated with said WAIT routine;
said method further comprising the steps of:
g. defining a program data structure format comprising a plurality of data
elements associated with execution of an application program module by
said program execution routine;
h. establishing in said random access memory an array storage area for
storing a program data structure array comprising a plurality of
application program module slots each having said program data structure
format;
i. establishing in said random access memory an area for storing scheduler
data program structures comprising a WAIT data element for storing define
"wait" or "continue" data values, and a plurality of ACTIVE PROGRAM data
elements each associated directly with one of said program slots in said
program data structure array and storing one of two defined data values
indicating whether or not said associated program slot contains data
elements associated with an active application program module;
j. establishing in said local computer system a program scheduling routine
for enabling said central processor unit to carry out the step of
scheduling the sequential execution of application program modules one at
a time based on the data values stored in said ACTIVE PROGRAM data
elements, said execution of each active application program module
continuing until said WAIT data element contains a wait data value or
until the currently executing application program module has completed its
execution;
said START PROGRAM routine including instructions for loading one of said
ACTIVE PROGRAM data elements with a data value indicating presence of an
active application program module and for loading into said array storage
are of said random access memory a corresponding program data structure
associated with said application program module called for execution by
said routine; and
said WAIT operation routine including instructions for storing said "wait"
data value in said wait data element of said scheduler data structure.
5. The method of claim 4, wherein said program data structure array
established in step h. is a fixed array with a fixed number of application
program module slots;
said ACTIVE PROGRAM data elements in said scheduler data structure
established in step i. comprise an ACTIVE PROGRAM fixed bitmap data
structure with each bit location in said bitmap corresponding to as
associated application program module slot in said program data structure
array and storing one of a first bit value or a second bit value
indicating the presence or absence, respectively, of an active application
program module in the associated application program module slot;
said START PROGRAM routine includes a parameter specifying which
application program module slot should be utilized for storing data
structures for execution of said associated application program module.
6. The method of claim 5, wherein said wait data element established in
step i. may also store a defined "HALT" data value; said step a. further
includes the step of:
(3) establishing as another one of said general purpose operation routines
a DONE routine comprising instructions for loading said wait data element
with a HALT data value and loading the bit location in the ACTIVE PROGRAM
bitmap of the application program module which includes said DONE routine
with said second bit value indicating the absence of an active application
program module in the associated application program module slot;
and each of said application program modules which completes execution
without branching to another application program module includes an
operation code corresponding to said DONE routine as a last command
therein.
7. The method of claim 6, wherein
said scheduler data structure established in step i. further comprises a
BACKGROUND bitmap having bit locations corresponding to application
program module slots in said program data structure array established in
step h. and storing one of first or second bit values indicating whether
the active application program module in a corresponding bit location in
the ACTIVE PROGRAM bitmap has a background or foreground attribute;
said program data structure array established in step h. includes a first
slot which comprises a main slot into which data structures for a main
application program module are loaded;
said DONE routine includes instructions for loading all bit locations in
said ACTIVE PROGRAM bitmap with said second bit value indicating the
absence of an active application program module except those bit locations
corresponding to bit locations in said BACKGROUND bitmap having a first
bit value indicating a background attribute for said active application
program module; and
said step a. includes the step of:
(4) establishing as another one of said general purpose operation routines
a START BACKGROUND routine comprising instructions for calling for
execution of a specified application program module in a specified slot
number with background attribute, including instructions to load the bit
location in said ACTIVE PROGRAM bitmap with a first bit value indicating
an active application program module in the specified slot number and to
load the bit location in said BACKGROUND bitmap with a first bit value
indicating a background attribute for said active application program
module.
8. The method of claim 4, wherein
said local terminal includes at least one other input device coupled to
said central processor unit in addition to said communication channel;
said scheduler data structure established in step i. further comprises a
plurality of REALTIME PROGRAM data elements each associated with one of
said program data structures in said program data array and storing in a
specific bit location one of two data values indicating whether or not an
active application program module in a corresponding slot of said program
data structure array is waiting for input from one of said communication
channel or said other input device;
said step a. includes the steps of:
(3) establishing a plurality of said general purpose operation routines
include machine instructions utilizing inputs from said communication
channel or said other input device; and
(4) establishing at least one general purpose operation routine which
includes instructions for loading the bit location in said REALTIME
PROGRAM data element corresponding to the application program module in
which said general purpose operation routine is executed with a data value
indicating that said application program module is waiting for input from
said communication channel or said other input device;
and said scheduling program routine established in step j. enables said
central processor unit to carry out the steps of:
(1) determining whether any input from said communication channel or said
other input device is waiting to be read;
(2) when input is not waiting to be read, performing said step of
scheduling the sequential execution of active application program modules
one at a time based solely on the data values stored in said ACTIVE
PROGRAM data elements in said schedule data structures, said execution of
each active application program module continuing until said WAIT routine
is executed or until said program module has completed execution;
(3) when input is waiting to be read, performing the steps of:
(a) reading an input from said communication channel or said input device;
and
(b) scheduling the execution of only said active application program
modules having a data value in a corresponding REALTIME PROGRAM data
element which indicates that said application program module is waiting
for input until said read input is used by one of said application program
modules and then returning to said step (1) above.
9. The method of claim 8, wherein
said data structure format defined in step g. includes a plurality of
DEVICE data elements each associated with said communication channel or
said other input device and storing one of a first or a second data value
indicating whether or not the specified application program module needs
input from said communication channel or said other input device;
said step a. includes the step of:
(4) establishing as one of said general purpose operation routines a NEED
INPUT routine which includes instructions for loading a specified set of
said DEVICE data elements in an associated application program module with
said first data value indicating that said application program module
needs input from said communication channel or said other input device;
and said step (b) includes the steps of:
scheduling for execution one at a time in sequence each of said application
program modules having a first data value in the corresponding REALTIME
PROGRAM data element;
examining the DEVICE data element corresponding to the source of said input
in said program data structure associated with each scheduled application
program module to determine whether or not said scheduled application
program module needs said read input;
if said DEVICE data element indicates that said read input is needed,
proceeding to execute said scheduled application program module; and
if said DEVICE data element indicates that said read input is not needed,
returning to step above to schedule the next appropriate application
program module.
10. The method of claim 1, wherein
said step a. includes the steps of:
(1) establishing a subset of parameter dependent general purpose operation
routines, each of said parameter dependent general purpose operation
routines including instructions that use a predefined set of parameters,
including a subset of parameters that are required to be supplied by an
associated one of said set of commands, each of said parameters comprising
one or both of a parameter address or a parameter value; and
(2) establishing for each of said parameter dependent general purpose
operation routines a set of parsing routines for determining the address
and value of each parameter in said subset of parameters;
said step c. includes the step of:
defining a subset of parameter dependent commands, each of said parameter
dependent commands being associated with one of said parameter dependent
general purpose operation routines and including both a defined operation
code and an ordered list of parameter types corresponding to said subset
of parameters required to be supplied by said command;
said step d. includes the step of:
establishing for each use of said parameter dependent commands in said
application program module an ordered list of actual parameter specifiers
corresponding to said ordered list of parameter types;
said step e. includes the step of:
storing, in association with each of said set of commands of said operation
code associated with a parameter dependent command, said ordered list of
actual parameter specifiers;
said step f. (3) includes first performing with respect to each of said
actual parameter specifiers the steps of:
(a) reading said parameter specifiers;
(b) executing an associated one of said parsing routines to obtain the
address and value of said parameter;
(c) storing said parameter address and value;
followed by the step of executing said associated operation routine using
one or both of said parameter address and value for each of said
parameters.
11. The method of claim 1 where said general purpose operation routines
have a specification of parameters, further comprising the steps of:
g-11. defining a set of data types that may be used to satisfy said
specification of parameters utilized in said general purpose operation
routines;
h-11. defining a set of parameter types that may be utilized in said
general purpose operation routines, including defining for each of said
parameter types an associated subset of said data types which may be used
to satisfy said parameter types and a corresponding set of different data
type values which may be utilized to specify said data types in said
subset; one group of said parameter types being non-varying parameter
types having an associated subset of only one of said data types, and
another group of said parameter types being varying parameter types having
an associated subset of a plurality of said data types;
i-11. establishing a set of data type parsing routines each comprising a
set of instructions for obtaining at least the address and value of a
parameter satisfied by an associated one of said data types;
j-11. establishing a set of parsing control routines each associated with
one of said parameter types and comprising instructions for selectably
executing one of a subset of said data type parsing routines corresponding
to said associated subset of said data types, said subset having a single
member when a parsing control routine is associated with one of said
non-varying parameter types;
k-11. establishing a set of associated command parsing modules where each
associated command parsing module is associated with at least one of said
general purpose operation routines and comprising instructions for calling
the execution of a subset of said parsing control routines in
pre-established ordered sequence, said subset being a null subset in the
case of each of said general purpose operation routines that do not
utilize any of said parameter types;
l-11. storing each of said data type parsing routines, said parsing control
routines, and said command parsing modules in said read only memory;
and wherein said step a. includes the steps of:
(1) establishing for each of said general purpose operation routines an
operation routine which utilizes one or both of the address and value of a
subset of said parameter types, said subset being null in the case of each
operation routine that does not require any command specified parameters;
(2) incorporating into each of said general purpose operation routines a
specific command parsing module; and
said step b. includes the step of:
storing said operation routine for each of said general purpose operation
routines in prearranged relation to said specific command parsing module;
said step c. includes the step of:
defining for each of said commands a subset of said parameter types in an
ordered list corresponding to one of said ordered sequences, said subset
being a null subset when each command associated with an operation routine
has an associated null subset of parameter types;
said step d. includes the step of:
establishing for each use of each of said commands in said application
program module a subset of actual parameter type specifiers which are in
the form of an ordered list and a set of data type data elements which are
in the form of an ordered sequence of data elements corresponding to
varying parameter types in said ordered list of actual parameter type
specifiers, each of said data type data elements having a value
designating which of said data types said actual parameter type specifiers
are associated with;
said step e. includes the step of:
storing said ordered list and said ordered sequence established for each
usage of each command in said random access memory in predetermined
relation to said operation code;
said step f. (3) includes the steps of:
(a) first executing said associated command parsing module, including
executing associated parsing control routines and data type parsing
routines based on said ordered sequence to obtain the address and value of
each parameter required by said operation routine; and
(b) storing the address and value of each of said parameters as they are
obtained through execution of said data type parsing routines in
prearranged locations in said random access memory; and
(c) then executing said operation routine associated with one of said
general purpose operation routine utilizing one or both of said address
and value of each of said parameters.
12. The method of claim 11, wherein said data type parsing routines, said
parsing control routines, said command parsing modules, and said operation
routines are stored in separate areas of said read only memory with each
of said routines having a predetermined starting address;
said step c. comprises the steps of:
(1) assigning to each of said general purpose operation routines operation
codes comprising a numerical value in sequential numerical order; and
(2) establishing an operation code jump table comprising a sequential
listing of a first and a second address element for each of said operation
codes in the same numerical order as said assigned order of operation code
values, the first address element comprising the starting address of an
associated one of said command parsing modules and the second address
element comprising the starting address of an associated one of said
operation routines;
said step f. (2) comprises looking up in said operation code jump table the
first address element at the position in said jump table corresponding to
said numerical value of said operation code; and
said step f. (3) (a) comprises executing the associated one of said command
parsing modules located at said first address element looked up in said
operation code jump table; and
said step f. (3) (c) comprises executing the one of said operation routines
located at said second address element following said first address
element.
13. The method of claim 12, wherein a plurality of said general purpose
operation routines have a set of associated parameters comprising a null
set; one of said command parsing modules comprises a null command parsing
module which calls a null set of parsing control routines and returns to
carry out step f. (3) (c).
14. The system of claim 1, wherein said step b. comprises storing each of
said general purpose operation routines at a prearranged location within
said read only memory having an associated starting memory address;
said step c. comprises the steps of:
(1) assigning to each of said general purpose operation routines an
operation code comprising a numerical value in sequential numerical order;
and
(2) establishing an operation code jump table comprising a sequential
listing of said starting
memory address for each of said operation codes; and wherein said step
f.(2) comprises looking up in said operation code jump table the starting
memory address of said associated general purpose operation routine at the
listing in said jump t able corresponding to said numerical value of said
operation code and said step f.(3) comprises the step of sequentially
executing the instructions stored in said read only memory beginning at
said starting memory address.
15. The system of claim 1, further comprising the step of:
g-15. defining an operation code system comprising a plurality of opcode
sets and a plurality of corresponding opcodes within each of said sets,
such that each operation code comprises an opcode set designation and an
opcode designation;
h-15. defining an object code command syntax comprising at least one data
element having a set of possible values each designating one of said
opcode sets and at least a second data element having a set of possible
values each designating one of said operation codes;
and wherein said step c. includes the steps of:
(1) assigning each of said commands to a specific one of said opcode sets
and assigning to each of said commands in each opcode set a different
opcode in sequential numerical order;
(2) establishing a set of associated opcode jump tables each corresponding
to one of said opcode sets and comprising a sequential listing of
operation routine pointers each comprising starting memory addresses for
the general purpose operation routines associated with the commands
assigned to said corresponding opcodes;
(3) storing said set of opcode jump tables in said read only memory at
prearranged starting addresses for each of said tables in said set;
(4) establishing an opset pointer table comprising a sequential listing of
said starting memory addresses for said associated opcode jump tables; and
(5) storing said opset pointer table in said read only memory at a
prearranged starting address;
said step e. includes the step of:
storing said one data element and said second data element in associated
locations in said random access memory;
said step f. includes establishing a command execution data structure
including an opset data structure element and an opcode data structure
element; said step f.(1) includes the steps of:
(a) reading said one data element and storing the read value in a opset
data structure element; and
(b) reading said second data element and storing the read value in said
opcode data structure element;
and said step f.(2) includes the steps of:
(a) calculating the pointer address of an opset pointer from said starting
memory addresses of said opset pointer table and said value stored in said
opset data structure element;
(b) reading the value stored at said pointer address;
(c) calculating the opcode pointer address of said opcode pointer from said
read value and said value stored in said opcode data structure element;
and
(d) reading the value stored at said opcode pointer address:
and said step f.(3) comprises the step of:
executing the general purpose operation routines stored in read only memory
at the addresses corresponding to the read value at said pointer address.
16. The method of claim 1 wherein said general purpose operation routines
have a specification of parameters, further comprising the steps of:
g-16. defining a set of data types that may be used to satisfy said
specification of parameters utilized in said general purpose operation
routines;
h-16. defining a set of parameter types that may be utilized in said
general purpose operation routines, including defining for each of said
parameter types an associated subset of said data types which may be used
to satisfy said parameter types and a corresponding set of different data
type values which may be utilized to specify said data types in said
subset; one group of said parameter types being non-varying parameter
types having an associated subset of only one of said data types; and
another group of said parameter types being varying parameter types having
an associated subset of a plurality of said data types;
i-16. establishing a set of data type parsing routines each comprising a
set of instructions for obtaining the address and value of a parameter
satisfied by an associated one of said data types;
j-16. establishing a set of parsing control routines each associated with
one of said parameter types and comprising instructions for selectably
executing one of a subset of said data type parsing routines corresponding
to said associated subset of said data types, said subset having a single
member when a parsing control routine is associated with one of said
non-varying parameter types;
k-16. establishing a set of command parsing modules each associated with at
least one of said general purpose operation routines and comprising
instructions for executing of a subset of said parsing control routines in
pre-established ordered sequences, said subset being a null subset when
each of said general purpose operation routines do not utilize any of said
parameter types;
l-16. storing each of said data type parsing routines, said parsing control
routines, and said command parsing modules in said read only memory;
g-16. defining an operation code system comprising a plurality of opcode
sets and a plurality of opcodes within each of said sets, such that each
operation code comprises an opcode set designation and an opcode
designation;
h-16. defining a object code command syntax comprising a set of bitmap
bytes, a set of opcode bytes, and a set of parameter type specifier bytes,
each of said bitmap bytes and said opcode bytes having a set of common bit
positions comprising a byte-type flag and storing a first numeric value in
each bitmap byte and a second numeric value in each opcode byte, each of
said bitmap bytes also having a set of common bit positions comprising
opset specifier data elements and a plurality of sets of common bit
positions comprising data type data elements; each of said opcode bytes
having a set of common bit positions comprising opcode specifier data
elements; said opset specifier data elements in said set of bitmap bytes
together identifying the opcode set of the command as a particular one of
said opcode sets, said data type data elements in said set of bitmap bytes
together identifying the data type values for all varying parameter types
in the command that do not comprise the default data type value; said
opcode specifier data elements in said set of opcode bytes together
identifying the opcode of the command as one of said opcodes;
and wherein said step a. includes the steps of:
(1) establishing for each of said general purpose operation routines an
operation routine which utilizes a subset of said parameter types, said
subset being null for each operation routine that does not requires any
command specified parameters;
(2) incorporating into each of said general purpose operation routines one
of said command parsing modules; and
said step b. includes the step of:
storing said operation routine for each of said general purpose operation
routines in prearranged relation to said command parsing modules
associated therewith;
said step c. includes the step of:
(1) defining for each of said commands a subset of said parameter types in
an ordered list corresponding to one of said ordered sequences of parsing
control routines in one of said command parsing modules, said subset being
a null subset when each command associated with an operation routine has
an associated null subset of parameter types;
(2) assigning each of said commands to a specific one of said opcode sets
and assigning to each said command in each opcode set a different opcode
in sequential numerical order;
(3) establishing a set of opcode jump tables each corresponding to one of
said opcode sets and comprising a sequential listing of operation routine
pointers each comprising starting memory addresses for the one of said
general purpose operation routines associated with the command assigned to
said corresponding opcode;
(4) storing said set of opcode jump tables in said read only memory at
prearranged starting addresses for each of said tables in said set;
(5) establishing an opset pointer table comprising a sequential listing of
said starting memory addresses for said opcode jump tables; and
(6) storing said opset pointer table in said read only memory at a
prearranged starting address;
said step d. includes the step of:
establishing for each use of each of said commands in said application
program module object code commands in accordance with said object code
command syntax;
said step e. includes the step of:
storing each of said object code commands in said application program
module in said random access memory;
said step f. includes establishing a command execution data structure
including an opset data structure element, an opcode data structure
element, an array of data type data structure elements, an array of
parameter address and value data structure elements, a variable parameter
tracking data element, and a current parameter tracking data element;
said step f.(1) includes the step of:
decoding said set of bitmap bytes and said set of opcode bytes to obtain an
opset value and store said opset value in said opset data structure
element, to obtain an opcode value and store said opcode value in said
opcode data structure element, and to obtain data type values and store
data type values of all of said data type data elements in individual ones
of said data type data structure elements;
and said step f.(2) includes the steps of:
(a) calculating the address of an opset pointer from said starting address
of said opset pointer table and said value stored in said opset data
structure element;
(b) reading the value stored at said opset pointer address;
(c) calculating the address of said opcode pointer from said read opset
pointer value and said value stored in said opcode data structure element;
and
(d) reading the value stored at said opcode pointer address as the address
of the one of said general purpose operation routines associated with said
command;
said step f.(3) includes the steps of:
(a) first executing said command parsing module associated with said
general purpose operation routine at said address read in step f.(2) (d)
above, including executing associated parsing control routines and data
type parsing routines based on said data type values stored in said data
type data structure elements to read the parameter types in said object
code command and to obtain the address and value of each parameter
required by said operation routine; and
(b) storing the address and value of each of said parameters as they are
obtained through execution of said data type parsing routines in
individual ones of said parameter and address data structure elements;
(c) then executing said operation routines associated with said general
purpose operation routines utilizing one or both of said address and value
of each of said parameters.
17. In a method for programming a local terminal, the steps of:
establishing a tokenized interpretive programming language having a
plurality of commands and corresponding syntax including a source level
command and parameter syntax, an associated object level command and
parameter syntax including a defined operation code for each of said
commands, a program module structure, application modules and a compiler
for translating source level commands in said application modules to said
object level command capable of being assembled and linked into binary
code;
establishing a set of operation routines for execution by said terminal to
perform a set of terminal tasks;
storing said operation routines in said local terminal;
defining a set of commands using said source level command and parameter
syntax, each being associated with one of said operation routines;
creating an application program comprising a sequence of said source level
command in accordance with said program module structure;
compiling said application program using said compiler;
assembling and linking said program using a standard machine code assembler
and linker program;
communicating said program to said terminal for storage in local memory
therein; and
operating said terminal using said application program.
18. The method of claim 17, wherein said step of compiling comprises the
steps of establishing a first section of compiled code comprising a fixed
code structure that defines the environment of the application program and
a variable code structure that comprises portions of the application
program that vary with the content of the program created in said creating
step whereby said
assembling and linking step creates a corresponding fixed binary code
section and a variable binary code section;
and said step of communicating said application program comprises first
communicating said fixed binary code section and storing it at the local
terminal and then communicating said variable binary code section and
storing it in the local terminal;
said fixed binary code section stored in said local terminal providing
information for accessing portions of said application program in said
variable binary code section stored in said local terminal while
performing said step of operating said terminal using said application
program. |
|
|
|
|
Claims  |
|