Trailing-Edge
-
PDP-10 Archives
-
BB-PBQUC-BM_1990
-
help/start.hlp
There are 3 other files named start.hlp in the archive. Click here to see a list.
START command
The START command begins execution of the program in the current fork.
Format
@START (PROGRAM) location/switch
where:
location is the octal or symbolic address where you want
the program to start.
Default location - the normal starting address,
that is, the first word in the
program's entry vector
switch is a keyword, chosen from the list below,
indicating your choice of START command options.
START Command Switches
/BACKGROUND keeps your terminal at TOPS-20 command level and starts
execution of the program in a "background" fork. When
the program attempts to do terminal input or output, it
halts and displays the message [FORK-NAME wants the
TTY].
/NORMALLY restores your terminal to command level (if any) within
the program
Default
/STAY keeps your terminal at TOPS-20 command level. Output
from the program is sent to the terminal and is
intermixed with whatever output is currently displayed.
When the program attempts to read from the terminal, it
can randomly intercept input intended for the EXEC or
another program. Therefore, use this switch with
programs that, once started, do not request further
terminal input.
Characteristics
Starting a Noncurrent Fork
When you START a noncurrent fork, the fork becomes your
current fork.
Hints
Further Information
The START command is one of the TOPS-20 multiforking-class
commands. For more information about multiforking, see the
section named Running Multiple Programs in the TOPS-20
User's Guide.
For more information about entry vectors, see the TOPS-20
Monitor Calls Reference Manual.
Special Cases
Running COBOL Programs a Second Time
After running a program (with a RUN or EXECUTE command, or
with a GET and START or LOAD and START combination) you can
usually run it again using START. COBOL programs are an
exception: to run them again you must reload them.
Restrictions
Programs Competing for Terminal Input
If you use START /STAY to run a program in a background
fork, either at the current or at a lower EXEC command
level, (see Hints - Using PUSH to Get a New TOPS-20 Command
Level, above), the program can request input from the
terminal while you are giving input to the EXEC or another
program. This input can be randomly intercepted by the
background program when it requests terminal input. Usually
though, the EXEC or the current program receives the input.
When terminal input is intercepted by the background
program, the program usually types input error messages. To
give input to the program, stop the program by typing two
CTRL/Cs or the program's exit command. Then, if the
background program is at a higher EXEC command level, give
POP commands to return to the EXEC level that holds the
background program. (POP terminates the current EXEC and
erases programs in its memory.) Finally, give the CONTINUE
/NORMALLY command; this puts you at program command level so
that you can give the requested input.
Input is intercepted by the background program randomly.
Therefore, you may have to type extra CTRL/Cs, program exit
commands, and POPs. To reduce confusion about the direction
of terminal input, it is recommended that you use START
/STAY only when you plan to work at the current EXEC level
while a program runs in a background fork. Use START
/BACKGROUND when you plan to work at a lower EXEC level or
at another program command level.
When a program started with START BACKGROUND requests
terminal input, it sends the message, [FORK-NAME wants the
TTY]. No input is taken by the background program until you
return to program command level with CONTINUE /NORMALLY.
No I/O Control with Some Programs
Most programs read and write data to the terminal through
standard input and output designators. Some programs
however, use different methods of communicating with the
terminal. Therefore, when you use /BACKGROUND and /STAY to
control terminal input and output from a background fork,
the input and output behavior of programs with nonstandard
designators can be unpredictable.
Execute-only Programs
Programs that are execute-only can only be started at their
normal starting address.
Related Commands
CONTINUE for resuming execution of a halted
program in memory
FORK for changing the current fork
FREEZE for halting a program in a background
fork
GET for placing executable programs in
memory
INFORMATION FORK-STATUS for displaying the number and the status
of each fork in your job
KEEP for giving a fork a kept status
LOAD for loading source or object programs
into memory
REENTER for starting the program in memory at
its alternate entry point (if any)
SAVE for saving a loaded program in an .EXE
file
ERUN, RESET, other multiforking-class commands for
SET NAME, SET PROGRAM, performing related functions
UNKEEP
Examples
1. Start the program currently in memory.
@START
2. Put an executable program in memory and start it. Then run
it again.
@GET TESTF1.EXE
@START
THIS IS A TEST.
END OF EXECUTION
CPU TIME: 0.04 ELAPSED TIME: 0.23
EXIT
@START
THIS IS A TEST.
END OF EXECUTION
CPU TIME: 0.02 ELAPSED TIME: 0.02
EXIT
3. Begin using the FILCOM program to compare two files. Give a
CTRL/C to halt FILCOM, then a CTRL/T to determine the
location where it was stopped. Give the DDT command, and do
some work within the DDT program; leave DDT with a CTRL/Z,
returning to TOPS-20 command level. Give the START command
to start FILCOM again, using as argument the address reported
by CTRL/T above.
@FILCOM
*TTY:=DUMPER.MAC, BACKUP.MAC
^C
^T 14:49:03 FILCOM ^C from Running at 400543 Used 0:00:03.1 -
in 0:04.39, Load 2.44 in 0:01:33
@DDT
DDT
3/ PAT..+361,,3066
4/ 56
^Z
@START 400543
No differences encountered
4. Place the CLOCK program (not DIGITAL supported) in memory.
KEEP the CLOCK program so that it will remain in memory when
you run other programs. Then, start the CLOCK program in the
background. CLOCK will display the time every half hour
while you run other programs and EXEC commands.
@GET CLOCK.EXE
@KEEP
@START CLOCK.EXE /STAY
@
.
.
.
[11:30 AM]