Command-Line Compiler Options

                            COMMAND LINE SYNTAX

Invoke the command line version of the compiler as follows:

     ASICC filename option1 option2 option3[...optionN]
     ASICC filename.PRJ option1 option2 option3[...optionN]

     Where:  filename    is the name of the source program or project file
                         to be compiled.  Source files must have the file
                         extension ".ASI", although the extension may be
                         omitted from the command line.

     filename.PRJ        Project files may be specified instead of a source
                         file name.  These have a ".PRJ" extension, and the
                         ".PRJ" extension must be typed if you want ASIC to
                         use the project file for the compile. Specifying a
                         project file tells ASIC to look for a project file
                         (created by the integrated environment), and use
                         the options from this file during the compile.
                         ASIC will then strip off the ".PRJ" extension and
                         try to compile a file with the same filename as
                         the ".PRJ" file, but with a ".ASI" extension.

     optionN             specifies any options desired.  No options are
                         required, but more than one can be specified as
                         long as you insert a space between each one.

                             COMPILER OPTIONS

The following compiler switches are currently available for ASIC:

Switch         Description

B/xxx          BUILD--Use this option to specify the type of output file
               ASIC is to produce.  The "xxx" on this option should be one
               of the following:

               xxx= COM       <--produce .COM file
                    EXE       <--produce .EXE file
                    OBJ       <--produce .EXE file via OBJ file
                                   using DOS LINK command
                                   optionally linking with
                                   other OBJ or LIB files.

               Default:  ASIC will generate a ".COM" output file.

C              CONTINUE--ASIC will not pause after messages are issued, but
               will continue compiling.

               Default:  ASIC will pause after each error message.
               Compilation will resume after you press a key.

D              DISKLIST--ASIC will echo all screen messages to a disk file
               named "progname.LST".  The format is the same produced by
               PRINTLIST.  This allows you to compile at higher speed, and
               print the source listing later from the disk file via the
               DOS print spooler.

               Default:  ASIC does not produce a ".LST" file.

DEC            DECIMAL MATH--ASIC will enable the Decimal Math Option.
               When this option is selected, you may specify decimal
               numbers (e.g., BALANCE@, 123.456789, etc.) which can hold
               numbers in the range +/-999,999,999,999.99999.  This option
               does increase the size of your ".COM" or ".EXE" file.

               Default:  ASIC does not enable the Decimal Math Option.

E              EMATH--ASIC will enable the Extended Math Option.  When this
               option is selected, you may specify long integers (e.g.,
               VELOCITY&, 123456789&, etc.) which can hold a larger range
               of values (+2,147,483,647 to -2,147,483,647).  This option
               does increase the size of your ".COM" or ".EXE" file by a
               couple of hundred bytes.

               Default:  ASIC does not enable the Extended Math Option.

L              LIST ALL--ASIC will list each source line as it compiles it.

               Default:  ASIC will list only source lines with compile

               Comment:  Use of this switch will slow compile speeds
               slightly due to the additional screen I/O.

LIB=xxx        LINK LIBRARY--Specifies libraries that ASIC should pass to
               the DOS LINKer.  This option is ONLY used by ASIC when you
               compile with the "B/OBJ" option.  It is ignored when you
               compile with the "B/COM" or "B/EXE" options.  A link library
               is usually used to store commonly used subroutines in OBJECT
               format.  You can create assembly language subroutines for
               ASIC, and store them in a library using the Borland TLIB
               Program or the Microsoft LIB Program.  The "xxx" should
               specify one or more library file specs with each library
               spec separated with a "+" character.  See Chapter 10 of the
               ASIC manual for more information.



               The first example shows a single library spec for MATH.LIB
               library.  The second example shows how to include more than
               one library--MISC.LIB and COMMON.LIB libraries.

               Comments:  When specifying libraries, you may omit the file
               extension, if it is ".LIB".

LNK=xxx        LINKer LOCATION--Specifies the location of the DOS LINK.EXE
               program to ASIC.  This option is ONLY used when compiling
               with the "B/OBJ" option. Unless the LINK.EXE which is
               provided with MS DOS is located in the default ASIC
               directory, ASIC may not be able to locate the program, and
               will thus be unable to LINK your program to create a ".EXE"
               file.  The LINK.EXE should be included on your MS DOS
               distribution disks (if it is not already in your DOS
               directory). "xxx" should specify a file path.  For more
               information on this option see Chapter 10 of the ASIC



               Default:  By default, ASIC will attempt to locate the linker
               in the default directory.  If it can't find the LINK.EXE
               file there, it tries to find it under the "C:\DOS"
               directory.  If it can't find it there, it gives up and
               issues an error message.

OBJ=xxx        ADDITIONAL OBJECT FILES--Specifies a list of additional
               object files that ASIC should link with the main object
               file.  This option is ONLY used by ASIC when you are
               compiling with the "B/OBJ" option.  You do not need to
               include the name of your ASIC program here, that is done
               automatically by ASIC.  When you compile with this option,
               ASIC creates an OBJ file which can be linked using the DOS
               LINKer.  Optionally, you can included "CALL SUB" statements
               in your program which reference separately compiled OBJ
               files.  This option allows you to pass other object file
               names to the DOS LINKer to resolve these external
               references.  The "xxx" parameter should include file specs
               for one or more object files with a "+" character separating
               each object file.  See Chapter 10 of the ASIC Manual for
               more details.


               The first example specifies a single object to be passed to
               the linker.  The second example illustrates two object
               files: SUB1.OBJ and SUB2.OBJ.

               Comments:  The file extension may be omitted if it is

P              PRINTLIST--ASIC will echo all messages which appear on the
               screen to the printer. Output to the printer will be paged
               with header lines identifying the program name, and the
               date/time compiled.

               Default:  ASIC will not send any messages to the printer

               Comments: Even though output to the printer is buffered,
               this option will slow compile speeds considerably.  The
               compiler typically compiles only as fast as your printer can
               print the messages.  An alternative to this switch is the
               DISKLIST option.

S              SYMTAB--ASIC will produce a formatted Symbol Table in a file
               named "progname.SYM".  The symbol table contains a list of
               all variables, labels, and internally created compiler

               Default:  ASIC does not produce a ".SYM" file.

STK=n          STACK SIZE--Specifies the size of the stack that you wish
               ASIC to create.  This option is ignored when you are using
               the "B/COM" option.  "n" equals the size of the stack you
               want in bytes.

               Default:  By default, ASIC sets the stack size to 2000 bytes
               (4000 bytes if you are compiling with debugging mode).



               In the above example, the stack size would be set to 512

               Comments:  The default stack sizes that ASIC provides are
               normally adequate, however, they may be larger than your
               program may need.  If you are interested in minimizing your
               program's memory usage, you may experiment with the STK
               option, however, setting the size too small can cause
               unpredictable results.  This option is recommended only for
               experienced ASIC users.  The stack size must be in the range
               16 to 32767.  ASIC will not allow you to create a stack size
               smaller than 4000 bytes when compiling with debugging mode
               on.  If you specify a smaller value in this instance, ASIC
               will override it with a size of 4000.

X              DEBUG--ASIC will generate debugging code in the ".COM" or
               ".EXE" file and a ".DBG" file for use by the integrated
               environment debugger.

               Default:  ASIC does not generate debugging information.

               Comment:  If you are running from the integrated
               environment, ASIC sets this option on by default.  You may
               turn it off in the Compile menu, should you so desire.

                             COMPILE EXAMPLES

Example 1:     Compile "MYFILE.ASI" with default compiler options:

               ASICC MYFILE

Example 2:     Compile "MYPROG.ASI", Listing all source lines, writing a
               compile listing to a disk file for printing later.  The
               listing file will be called "MYPROG.LST":

               ASICC MYPROG L D

Example 3:     Compile "FILEX.ASI", don't pause for any errors, and print
               the errors on the printer:

               ASICC FILEX C P

Example 4:     Compile "CRUNCH.ASI" and allow long (32 bit) integer

               ASICC CRUNCH E

Example 5:     Compile "BIGPROG.ASI" and create a ".EXE" format output

               ASICC BIGPROG B/EXE

Example 6:     Compile "SAMPLE.ASI" and create a ".EXE" format output file,
               with a stack size of 2500 bytes.

               ASICC SAMPLE B/EXE STK=2500

Example 7:     Here's a more complex example, which demonstrates the   use
               of the B/OBJ build options.  Assume we have a program called
               "MAIN.ASI" which calls three assembly language subroutines,
               called "A", "B", and "C".  Subroutine "A" is stored in file
               "A.OBJ".  Subroutines "B" and "C" are stored in a library
               called "ASMSUB.LIB".  The DOS LINK.EXE file is contained in
               the subdirectory "C:\UTIL".  Here is the ASICC command to
               compile MAIN.ASI and link in the subroutines called using
               "CALL SUB" in the MAIN.ASI program:


                           PROGRAM PROJECT FILE

The ASIC integrated environment automatically stores compile options for
each program in a file called "progname.PRJ".  Whenever you compile from
the integrated editor, ASIC will always check for this file, and set
compile options based on the file.

Since MS DOS has a restriction of 128 characters for a command line, you
may find it useful to use the integrated environment to set your compile
options for a program, even if you are not using the environment for
editing.  This is especially true when you are using the "B/OBJ" option,
where you frequently may be passing many parameters.  Then, you may type
the program project file name instead of the program source file name when
compiling from the command line and ASIC will use the options from the
".PRJ" file for that compile.

You may still specify additional compile line options when compiling using
the ".PRJ" file option.  In this case, the option from the command line
will override any corresponding option from the ".PRJ" file.

Although the ".PRJ" file is a standard DOS text file, it is recommended
that you not edit this file using a text editor--if incorrectly modified,
compiler results may be unpredictable.


     ASICC myfile.prj LIB=NEWLIB

In this example, all options set in the "MYFILE.PRJ" file will be read and
used by the ASIC command line compiler, except for the "LIB" option which
was specified on the command line.  For this compile, ASIC will set the LIB
option to "NEWLIB" regardless of what the LIB option was set to in the
project file.  ASIC will then try to compile a source file called