65X-DOS/doc/shells.md

23 lines
973 B
Markdown

# Shells
Turaco-DOS reserves a portion of main memory for a "shell", a
program which exists to load and run other programs, and handle
their return values. This shell might be a command line, or some
other program that manages other programs, such as a batch file
interpreter.
The active shell has a "resident" portion of memory, which stays
in memory as long as the shell is active, and a "transient" portion
of memory which is only used while the shell is not running an
external program.
When the shell runs a program, and that program exits, its main
function returns a two-byte value; this value is stored in a
specific memory address, and used by the shell as the "status"
code for the program's exit. Like Unix, a zero value is considered
a normal exit, with any positive value being some type of error.
Additionaly, when running a program, the shell can provide the
program with a sequence of arguments, which populate the two
arguments to the main() function.