THE ARROWSOFT ASSEMBLER Public Domain Version 2.00c User's Guide The Arrowsoft Assembler Program and Manual are both Copyright (C) 1986, 1987 by Arrowsoft Systems, Inc. 554 West Sixth Avenue Larkview, MO 66069 Arrowsoft Assembler v2.00 User's Guide The Arrowsoft Assembler takes as its input 8086, 8088, 80186 and 80286 assembly language source files and produces relocatable object modules which may be linked and run under the MS-DOS and PC-DOS operating systems. The syntax of the input files is a superset of that accepted by the Microsoft Macro Assembler (versions 3.0 and later). In fact, most programs written for the Microsoft product should assemble without modification with the Arrowsoft Assembler. The remaining sections of this manual will cover, in this order, assembler command line options, input language specifications, linking and execution of assembled object modules, and assembler error messages. INVOKING THE ARROWSOFT ASSEMBLER You may run the Arrowsoft Assembler interactively or directly from the DOS command line. To invoke the assembler interactively, simply type at the DOS prompt and follow the ensuing instructions. To run the assembler non-interactively, use the following syntax: asm source [,object] [,list] [,xref] [options] [;] where 'source' is a filespec for the source file (default extension .ASM), 'object' is a filespec for the object file (default extension .OBJ), 'list' is a filespec for the listing file (default extension .LST) and 'xref' is a filespec for the cross-reference file (default extension .CRF). Note that all filespecs may consist of a drive letter, a pathname, a filename and an extension. If the object file is not specified, the assembler will use the source filename with the .OBJ extension. If the list and cross-reference files are not specified, the assembler will not produce them. Finally, the semicolon (;) will force the assembler to assume default values for any unspecified parameters. OPTION CODES The options list consists of a sequence of option codes. These option codes consist of a slash (/) or dash (-) followed by one or more letters, case being insignificant. Most of these options are compatible with Microsoft conventions. /A Write segments in alphabetical order /Bnumber Set buffer size /Dsymbol Define assembler symbol /E Generate 8087/80287 emulator code /F Generate 8087/80287 floating point code /H Command help summary /Ipath Set 'include' search path /ML Case sensitive internal labels /MX Case sensitive external and public labels /MU Convert labels to uppercase /P Include Pass1 listing /S Silent; no screen output unless error /X Include false conditionals in listing Many of these command line options are self explanatory; for whose which aren't, see the descriptions below: /B Set Buffer Size Sets the size of the buffer used to hold the source file during assembly. The 'number' is the number of 1K pages reserved for use as a buffer. You may set the buffer size to any value between 1K and 63K; default buffer size is 32K. Note that a larger buffer can speed assembly of large files considerably. /E Generate 8087/80287 Emulator Code If you are writing programs for use with the 8087/80287 numeric processor on a machine which does not have the processor, and you have an 8087/80287 emulator library available, the /E option directs the assembler to generate code for the emulator. /F This option directs the assembler to generate floating point code for the 8087/80287 numeric processor. Note that programs assembled with the '/F' option will run ONLY on machines which have an 8087/80287 installed. /I Set 'include' file search paths You may direct the assembler to search up to 5 directories for 'include' files by including a '/Ipath' command for EACH of them. For example, to set the search paths '\bin\lib' and '\asm\lib', include the following in your options list: /I\bin\lib/I\asm\lib. See ASM.DOC in DOC\ARROW directory for more information.