using_multiple_interactive_programs_on_twenex
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
using_multiple_interactive_programs_on_twenex [2021/03/17 00:22] – [Using Multiple Interactive Programs on TWENEX] hc9 | using_multiple_interactive_programs_on_twenex [2021/03/17 01:04] – [Using Multiple Interactive Programs on TWENEX] hc9 | ||
---|---|---|---|
Line 9: | Line 9: | ||
The functions described in this tutorial are equivalent to those on Unix systems invoked with the Ctrl-Z key and commands like fg, jobs, etc. | The functions described in this tutorial are equivalent to those on Unix systems invoked with the Ctrl-Z key and commands like fg, jobs, etc. | ||
- | There are two ways to run multiple interactive programs(2) in TOPS-20: | + | There are two ways to run multiple interactive |
- Push/Pop: From an interactive session you run another program, then return to the first program when the called program is complete. | - Push/Pop: From an interactive session you run another program, then return to the first program when the called program is complete. | ||
Line 20: | Line 20: | ||
<file config EXEC> | <file config EXEC> | ||
- | *^C ! Return from program session to EXEC | + | |
- | ^C ! (only single ^C will echo). | + | ^C ! (only single ^C will echo). |
- | @PUSH ! Start child EXEC instance. | + | |
- | TOPS-20 Command processor 7(4168)-1 | + | TOPS-20 Command processor 7(4168)-1 |
- | @MM | + | @MM |
- | ... ! Use program then exit. | + | |
- | @POP ! Terminate child EXEC and return to | + | |
- | ! parent EXEC. | + | ! parent EXEC. |
+ | |||
+ | @CONTINUE(3) ! Return to original program session. | ||
+ | * ! Depending on the program you may | ||
+ | ! continue entering commands or | ||
+ | ! refresh the display. | ||
- | @CONTINUE(3) ! Return to original program session. | ||
- | * ! Depending on the program you may | ||
- | ! continue entering commands or | ||
- | ! refresh the display. | ||
</ | </ | ||
Line 44: | Line 45: | ||
<file config EXEC> | <file config EXEC> | ||
+ | *^C ! Return from program session to EXEC | ||
+ | ^C ! (only single ^C will echo). | ||
- | *^C ! Return from program session to EXEC | + | @KEEP ! Create separate address space for |
- | | + | ! new program. |
- | @KEEP ! Create separate address space for | + | |
- | ! new program. | + | |
- | @MM ! Start new program. | + | ... ! Use program. |
- | ... ! Use program. | + | MM>^C ! Return from second |
- | MM> | + | @INFORMATION FORK-STATUS |
+ | ! List forks in current | ||
+ | ! (Current fork marked with " | ||
- | @INFORMATION FORK-STATUS(3) | + | TECO (1): Kept, ^C from IO wait at TYI+3, 0:00:00.0 |
- | ! List forks in current EXEC. | + | |
- | ! (Current fork marked with "=>".) | + | |
- | | + | @FORK TECO ! Switch to original program' |
- | => MM (2): ^C from IO wait at $COMND+3, 0:00:00.0 | + | |
- | @FORK TECO ! Switch | + | |
- | ! (" | + | |
- | @CONTINUE ! Return to original program | + | ... ! Use original program. |
- | ... ! Use original program. | + | *^C ! Return to EXEC. |
- | *^C ! Return to EXEC. | + | @INFORMATION FORK-STATUS |
+ | => TECO (1): Kept, ^C from IO wait at TYI+3, 0:00:00.0 | ||
+ | MM (2): ^C from IO wait at $COMND+3, 0:00:00.0 | ||
- | @INFORMATION | + | |
- | => TECO (1): Kept, ^C from IO wait at TYI+3, 0:00:00.0 | + | |
- | | + | |
- | @FORK MM ! Switch to second program fork (" | + | |
- | + | ||
- | @CONTINUE ! Resume second program session. | + | |
</ | </ | ||
+ | ^EXEC snippet, and end-note:^ | ||
+ | |// | ||
+ | <file config EXEC abbreviated> | ||
+ | CONTINUE => | ||
+ | INFORMATION FORK-STATUS => | ||
+ | </ | ||
===== More Information ===== | ===== More Information ===== | ||
- | More information can be found in TOPS-20 User's Guide(1) sections 8.6 " | + | More information can be found in TOPS-20 User' |
===== Notes ===== | ===== Notes ===== | ||
- | (1) TOPS-20 User's Guide. Available on Twenex.org in file DOC: | + | < |
- | (2) It is only necessary to use these methods when you wish to use two or more user programs at the same time. Running a user program from EXEC without first running PUSH or KEEP will overwrite the user program address space and destroy the session state of the previously running program. However, EXEC commands generally do not disturb user program address space. You can halt an active program (with ^C^C), run several EXEC commands (e.g. DIRECTORY, HELP, TYPE), and return to your original program (with CONTINUE) in the state you left it. | + | < |
- | + | ||
- | (3) EXEC commands and options may be abbreviated to the minimum unique prefix, for example: | + | |
+ | < | ||
+ | </ | ||
<file config EXEC abbreviated> | <file config EXEC abbreviated> | ||
- | + | | |
- | CONTINUE => CONT | + | INFORMATION FORK-STATUS => |
- | INFORMATION FORK-STATUS => | + | |
</ | </ | ||
using_multiple_interactive_programs_on_twenex.txt · Last modified: 2021/03/17 01:09 by hc9