XCALL HOSTEX always creates a new process. (Under A-Shell/Windows, the new process has its own window, while under A-Shell/Linux, it takes over the current screen.)
XCALL AMOS, on the other hand, (which is much closer to the SYSTEM.SBR and/or AMOS.SBR you may have seen under AMOS) may or may not create a new process & window, depending on the following rules:
1. If the command passed to XCALL AMOS starts with LOG, SET, LOOK, or VUE then it is handled as a true subroutine within the current process/window.
2. Else if the AMOS_RUNSBR option is set (either via OPTIONS=AMOS_RUNSBR in MIAME.INI, or by using .SET AMOSRUNSBR), and the command starts with RUN, ORUN, or the name of any LIT command in SYS: (other than DO/MDO) then it is still handled as a true subroutine within the current process/window.
3. Otherwise, a new process/window is created to execute the command.
If you search UPDATE.TXT for "RUNSBR" you will find several notes about it.
Note that although OPTIONS=AMOS_RUNSBR is not set by default (for historical compatibility reasons), we do recommend that you set it, since executing such commands within the current process/window is not only faster but more closely simulates what happens under AMOS.
Also note that if you are using OPTIONS=AMOS_RUNSBR, but in certain circumstances you want to force it to launch a new window to execute a background task, you should use XCALL HOSTEX,"$ASHELL &" will always create a new process/window and let it run independently of your current window.