12.5 COM file symbiosis

  ------------------------

 

    12.5.1 What is symbiosis?

    ~~~~~~~~~~~~~~~~~~~~~~~~~~

 

        The C-- compiler has the option to append the program it is compiling

    to the end of an already created COM file.  This I call "COM File

    Symbiosis".  When the program is loaded, execution will start in the

    appended C-- code, and when execution passes the end of the main()

    function block, execution of the original program will begin.

 

        If a function like EXIT() or ABORT() is called within the C--

     program, the program will quit, and the original code from the COM file

     will not be executed.  This allows the program being appended to the

     COM file to determine whether control will be passed to the original

     code.

 

 

    12.5.2 How to do it

    ~~~~~~~~~~~~~~~~~~~~

 

        To do it, you need to use the /SYM command line option followed by

    the full name of the COM file to append to.  The original COM file will

    not be changed, only copied into the beginning of the outputted run COM

    file.  For example, to compile the program HELLO.C-- onto the end of a

    copy of C:\COMMAND.COM use the following command:

 

      C-- /SYM C:\COMMAND.COM HELLO.C--

 

    An output file HELLO.COM will be created.

 

 

    12.5.3 Uses

    ~~~~~~~~~~~~

        You can probably think of lots of ways of using this function, such

    as:

 

      - Adding password protection to certain special COM files.

      - Reducing the memory available to the COM file at startup.

      - Initializing a video mode for the COM file.

 

 

    12.5.4 Abuses

    ~~~~~~~~~~~~~~

 

        A malicious person can also come up with harmful uses for this

    function. The most obvious is the creation of Trojan horses. I would like

    to point out that this is a nonconstructive use of C--, and any

    destructive use of COM-file symbioses is forbidden.