File 6800AS.HL (help file)

Directory of image this file is from
This file as a plain text file

        PDP-11-BASED 6800 CROSS-ASSEMBLER DESCRIPTION



 SEMANTICS OF THE SYNTAX DESCRIPTION

   ::= MEANS DEFINED AS OR DESCRIBED TO BE
   ... MEANS ANY CHARACTERS OR VALUES BETWEEN
    <> ARE SEPARATORS AND NOT A PART OF THE ASSEMBLER
    !  MEANS OR , I. E. A!B MEANS EITHER A OR B
    () MEANS OPTIONAL
    [] MEANS APPEARS 0 OR MORE TIMES IN A ROW
    []N] MEANS APPEARS 0 TO N TIMES IN A ROW

 <HEXDIGIT> ::= "0"..."9" ! "A"..."F"
 <BYTE> ::= <HEXDIGIT><HEXDIGIT>
 <DBLEBYTE> ::= <BYTE><BYTE>
 <HEXNUM> ::= "$"[<HEXDIGIT>]4]
 <PGNUM> ::= "*" ! <HEXNUM>
 ("*" IS THE LABEL FOR THE PROGRAM COUNTER)
 <ALPHA> ::= "A"..."Z"
 <ALPHANUM> ::= <ALPHA> ! "0"..."9"
 <ASCIICHAR> ::= <ALPHANUM> !<ANY PRINTABLE CHAR EXCEPT "/">
 <COMCHAR> ::= <ASCIICHAR> ! "/"
 <LABEL> ::= <ALPHA>[<ALPHANUM>]5]
 <SYMBOL> ::= <LABEL> ! "*"
 <SP> ::= " "(<SP>)!<'TAB'>(<SP>)
 <VALUE> ::= <SYMBOL>!<HEXNUM>
 <MODVALUE> ::= <VALUE>! "#"<VALUE> ! <VALUE>",""X"
 <ASCIISTR> ::= <ASCIICHAR>(<ASCIISTR>)
 <COMMENT> ::= <COMCHAR>(<COMMENT>)
 <OPERATOR> ::= <ALPHA><ALPHA><ALPHA>
 <REG> ::= "A" ! "B"
 <INSTR> ::= <OPERATOR>!<OPERATOR><SP><MODVALUE>!
          <OPERATOR><REG>!<OPERATOR><REG><SP><MODVALUE>
 <BYTEFIELD> ::= "$"<BYTE> [","("$")<BYTE>]
 <DBLEBYTEFIELD> ::= "$"<DBLEBYTE> [","("$")<DBLEBYTE>]

 FORMAT OF STATEMENTS
 <GOODLINE> ::=
               (<SP>)"*"<COMMENT>
                      !
               <ASSEMBDIRECTIVE>
                      !
               (<LABEL>)<SP><INSTR>(<SP><COMMENT>)
                         ^NOTE THE SPACE BEFORE THE INSTR
                THERE MUST BE A SPACE IF NO LABEL.     .

 LEGAL INSTRUCTION NAMES ARE FOUND IN THE INSTRUCTION
 CARDS. THE LEGAL ASSEMBLER DIRECTIVES AND THEIR MEANINGS
 ARE AS FOLLOWS.

<SP>"ORG"<SP><HEXNUM>  ;THIS ASSIGNS VALUE TO THE PROG CTR
                   LIKE    * = VALUE.

 <SYMBOL><SP>"EQU"<SP><PGNUM>  ; MEANS SYMBOL = VALUE

 (<LABEL>)<SP>"FCB"<SP><BYTEFIELD>
              ;FORM CONSTANT BYTE,CAN HAVE A LABEL AND SEVERAL
               VALUES, INCLUDING NOTHING, WHICH COMES OUT A 0.
               THE DIRECTIVE EVALUATES THESE VALUES AND PUTS
               THE CORRESPONDING VALUES IN MEMORY.

 (<LABEL>)<SP>"FCC"<SP>"/"<ASCIISTR>"/"
             ;FORM CONSTANT CHARACTER, TRANSLATES STRINGS OF
              CHARACTERS TO THEIR 7-BIT EQUIVALENT.

 (<LABEL>)<SP>"FDB"<SP><DBLEBYTEFIELD>
            ;FORM DOUBLE BYTE, EACH VALUE BECOMES A DOUBLE
             BYTE IN MEMORY.

 (<LABEL>)<SP>"RMB"<SP><HEXNUM>
            ;RESERVE MEMORY BYTES, EFFECTIVELY *=*+VALUE,
             ADDS VALUE TO PROGRAM COUNTER.
 <SP>"END"
            ;SIGNALS THE END OF THE PROGRAM. MUST BE FOLLOWED
             BY MON DIRECTIVE, OR BY ANOTHER PROGRAM.
 <SP>"MON"
            ;SIGNALS THE END OF ALL PROGRAMS.

 "NAM"<SP><ASCIISTR>
            ;THIS NAMES THE PROGRAM AND IS PRINTED ON THE TOP
             OF EACH PAGE OF ASSEMBLY OUTPUT.

 "OPT"<SP><BYTE>"00"
           ;BYTE OF FORM "$JK"
           ;OPTIONS, IF <J> ="F", NO OBJECT TAPE IS CREATED.
                       <K>="F", SYMBOL TABLE RETENTION THROUGH
                               SUCCESSIVE ASSEMBLIES.


























Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search