The SSA Macro Assembler is a modified RSX11M Macro Assembler. These modifications make the assembler compatable with the DOS/BATCH Macro Assembler that was modified by Singer-Link. The modifications incorporated allow the user to assemble macro source programs that were developed by Singer-Link for the P3C and other training devices. The system library default is "[1,1]DOSMAC.SML" and is the converted DOS/BATCH system macro library. The SSA task is initiated the same way as any other RSX11M utility program. Command line format: Object,Listing[,LXR,LSD,MVT] = Source[,Source(2),...,Source(n)] Note: The portion of the command line enclosed in brackets , [...] , are optional specifications. Additional help keywords are: FILES , MODS or DEFAULTS 2 FILES With the exception of the following files,all files and there usage remain the same as the unmodified RSX11M Macro Assembler. To be compatable with the Singer-Link,Binghamton Division (FSO), modified DOS/BATCH Macro Assembler,three (3) new file specifications where added to the command line. LXR - LSD Cross Reference. LSD - Link Symbol Dictionary. ( see note ) MVT - LSD Symbol Pointers. ( see note ) Note: Although these files are specified on the output side of the command line,they are input files. These optional file specifications are used only when assembling with a Link Symbol Dictionary (LSD) file. Additional information can be obtained by typing: HELP SSA FILES keyword Where 'keyword' is: LXR , LSD or MVT 3 LXR Link Symbol Dictionary Cross Reference File This output file contains source program line numbers that reference symbols contained in the LSD file. The LXR file can then be used,with the LXR Utility Program,to obtain a listing of the LSD symbols referenced. The default file name is the object output file name The default file type is ".LXR" 3 LSD Link Symbol Dictionary File This input file (see note) contains the packed symbols used for source program references. At the end of assembly pass 1,this file is scanned for definition of undefined symbols. The default file name is "LSD001" The default file type is null - blank file type Note: Although this file is specified on the output side of the command line,it is an input file. 3 MVT Link Symbol Dictionary Pointer File This input file (see note) contains pointers to the packed symbols contained in the LSD file. It is used to reduce the time required to scan the LSD file symbols. The default file name is "MVT002" The default file type is null - blank file type Note: Although this file is specified on the output side of the command line,it is an input file. 2 MODS Modififications have been made in the following areas: 1. Command line specifications: a. Link Symbol Dictionary processing. ( Refer HELP SSA FILES ) b. Argument field swap switch. 2. Listing output: a. Page numbers. b. Source statement line numbers. c. Link Symbol Dictionary references. d. Symbol cross references. 3. Assembler directives: a. Math model equate. (.MMEQ) b. Double precision fixed point. (.FIXD) 4. Fixed point binary scaling: a. Single precision fixed point. b. Double precision fixed point. (.FIXD) Additional information may be obtained by typing: HELP SSA MODS keyword Where 'keyword' is: LISTING , DIRECTIVES , SWITCHS , FIXED POINT 3 LISTING The page number extension routine now updates the page number to the next sequential page number instead of outputting the current page number followed by a sequential page number extension. The source statement line numbers are now reset only when a new (next) source module is initiated for processing. The listing will now indicate the actual source statement number instead of the line number within a page. When using the Link Symbol Dictionary processing,the LSD symbols, referenced by a program,are listed after the "Table of Contents" section. This section is titled "LSD Symbol Dictionary References". The symbol cross reference listing,appended at the end of the listing,has been modified from the "page-line number" format to a "source module name-line number" format. The new format allows the user to accurately determine which source module defines the symbol and which source modules reference the symbol. 3 SWITCHS Argument Fiels Swap Command Line Switch ( /SS ) The source modules,developed by Singer-Link Silver Spring (SSO), have the argument fields of the following instructions reversed. 1. ASH 2. ASHC 3. DIV 4. MUL A new command line switch ( /SS ) has been incorporated to allow the assembler to generate the proper binary data for the instructions. The switch can be specified on any of the source file specifications on the input side of the command line. On multiple sources,the switch needs to be specified only on one of the sources. 3 DIRECTIVES Math Model Equate Directive ( .MMEQ ) The ".MMEQ" directive causes the current source statement to be listed under the listing section titled "Table of Contents" during pass 1 of the assembly process. During pass 2,the source statement is treated as a comment line. Double Precision Fixed Point Directive ( .FIXD ) The ".FIXD" directive generates a double precision ( 2 word ) fixed point number. Additional information on this directive may be obtained by typing: HELP SSA MODS FIXED POINT 3 FIXED 4 POINT Singer-Link source programs have numeric values that can be assembled at a specific fixed point binary scaling. Single precision (16 bits) can be used in instructions or the ".WORD" assembler directive and have the form: .WORD +/-nnnnnS+/-xx ( or ) MOV #+/-nnnnnS+/-xx,DESTINATION Double precision (32 bits) can be used only in the ".FIXD" assembler directive and have the form: .FIXD +/-nnnnnS+/-xx Note: The "nnnnn" is a decimal number,"S" is the scaling type ( B,Q or QQ ) and xx is the binary point. Additional information may be obtained by typing: HELP SSA MODS FIXED POINT SCALING 5 SCALING Fixed Point Scalings B scaling: The decimal point for single or double precision values originates to the right of bit 15 ( sign bit ). Q scaling: The decimal point for single precision values originates to the right of bit 0 ( least significant bit ). QQ scaling: The decimal point for double precision values originates to the right of bit 31 ( least significant bit of second word ). 2 DEFAULTS Listing Control Function Control Cross Reference --------------- ---------------- --------------- SEQ List ABS Disable MAC No List LOC List AMA Disable PST No List BIN List CDR Enable REG No List BEX List CRF Enable SYM List SRC List FPT Disable COM List LC Disable MD List LSB Disable MC List PNC Enable ME No List REG Disable MEB No List GBL Disable CND No List LD No List TOC List SYM List TTM No List