I. Introduction

asm7090 is a cross assembler for the IBM 7090 computer. It is a MAP compatible
and supports absolute and relocatable assembly. Macros and conditional assembly
are now supported. The floating point conversion for the DEC pseudo op was
corrected and supports double precision. 

If IBSYS control cards are at the beginning of assembly source the TITLE and
IBMAP fields are parsed and used to set the appropriate options in the assembly
of the module. The control cards are listed in the listing on a seperate page.


II. Build asm7090

Lunix/Unix:

$ make

The make attempts to figure out which system to make for using uname.

WinBlows:

$ nmake nt


III. To run asm7090

$ asm7090 [-options] -o file.bin file.asm

Where options are:

   -a           - Absolute assembly "ABSMOD"
   -d deck      - Deckname for output
   -l listfile  - Generate listing to listfile
   -m           - Nucleus sysmbol mode "MONSYM"
   -o outfile   - Object file name
   -p           - Parens in symbols OK "()OK"
   -t title     - Title for listing
   -w           - Generate wide listing
   -x           - Generate cross reference


IV. Supported Pseudo Ops

   ABS    - ABSolute object card format, ignored.
   BCD    - Encode BCD strings.
   BCI    - Encode BCD strings.
   BEGIN  - Specifies a BEGINning location counter.
   BES    - Block Ended by Symbol (reserve storage).
   BOOL   - BOOLean variable declaration.
   BSS    - Block Started by Symbol (reserve storage).
   CALL   - Generate IBSYS CALL prolog.
   COMMON - Currently ignored.
   CONTRL - Currently ignored.
   COUNT  - Card COUNT, FAP ignored.
   DEC    - Generate data in DECimal.
   DETAIL - Currently ignored.
   DUP    - DUPlicate source lines.
   END    - END of assembler input.
   ENDM   - END Macro definition.
   ENDQ   - END Qualified section.
   ENTRY  - Defined ENTRY (global).
   EJECT  - Start next listing line on a new page.
   EQU	  - EQUate symbols to values.
   ETC    - ETC specifies statement continuation.
   EVEN   - EVEN location counter. Ignored.
   EXTERN - Define EXTERNal reference.
   FILE   - Currently ignored.
   FUL    - FULl object card format, ignored.
   GOTO   - GOTO line in source file.
   IFF    - IF False conditional.
   IFT    - IF True conditional.
   INDEX  - Currently ignored.
   IRP    - Indefinite RePeat.
   KEEP   - Currently ignored.
   LABEL  - Currently ignored.
   LBL    - LaBeL object.
   LBOOL  - Left BOOLean variable declaration.
   LDIR   - Linkage Director linkage.
   LIST   - Enable listing generation.
   LIT    - Add data to literal pool.
   LITORG - Currently ignored.
   LOC    - Set LOCation counter.
   LORG   - Literal pool origin.
   MACRO  - Specify MACRO.
   MAX    - MAXimum value of arguments.
   MIN    - MINimum value of arguments.
   NOCRS  - Currently ignored.
   NULL   - NULL defines any label to the location counter.
   OCT    - Generate data in OCTal.
   OPD    - Operation definition.
   OPSYN  - Operation Synonym.
   OPVFD  - Operation variable field definition.
   ORG    - Program ORiGin.
   ORGCRS -  Currently ignored.
   PCC    - Print Control Cards.
   PCG    - Print Control Group.
   PMC    - Print Macro Cards.
   PUNCH  - Enable object generation.
   PURGE  - Currently ignored.
   QUAL   - QUALifed section beginning.
   RBOOL  - Right BOOLean variable declaration.
   REM    - Program REMark.
   RETURN - Generate IBSYS RETURN epilog.
   SAVE   - Save CPU context.
   SAVEN  - Save CPU context, no Linkage Director.
   SET    - SET assembly control variable.
   SPACE  - SPACE listing by the specified number of lines.
   SST    - FAP ignored.
   SYN	  - SYNonym equates symbols to values.
   TCD    - Transfer Control.
   TITLE  - Currently ignored.
   TTL    - Sub TiTLe of the assembly, placed in listing header.
   UNLIST - Disable listing generation.
   UNPNCH - Disable object generation.
   USE    - USE location counter specified in variable field.
   VFD    - Variable Field Data definition.

The following Psuedo ops are implemented using the instruction processor:

   MON   - Minus One
   MTH   - Minus Three
   MTW   - Minus Two
   MZE   - Minus Zero
   PON   - Plus One
   PTH   - Plus Three
   PTW   - Plus Two
   PZE   - Plus Zero

These pseudo ops are implemented as Type A instructions and allow the
initialization of the various fields, decrement, tag and address. For
use by the program.
