File 68.PA (PAL assembler source file)

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

        PDP-11-BASED 6800 CROSS-ASSEMBLER DESCRIPTION


 PREFIXES
    #  IMMEDIATE MODE
    $  HEX NUMBER

 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 , AS IN 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"
 <NUMBER> ::= "$"[<HEXDIGIT>]4]
 <BYTE> ::=   "$"[<HEXDIGIT>]2]
 <ALPHA> ::= "A"..."Z"
 <ALPHANUM> ::= <ALPHA> ! "0"..."9"
 <ASCIICHAR> ::= <ALPHANUM> !<ANY PRINTABLE CHAR EXCEPT "/">
 <COMCHAR> ::= <ASCIICHAR> ! "/"
 <SYMBOL> ::= <ALPHA>[<ALPHANUM>]5] ! "*"
 (* REPRESENTS THE PROGRAM COUNTER)
 <LABEL> ::= <SYMBOL>
 <ARITHOP> ::= "+"!"-"!"*"!"/"
 <SP> ::= " "!<'TAB'>
 <VALUE> ::= <SYMBOL>!<SYMBOL><ARITHOP><VALUE>!<NUMBER>!
             <NUMBER><ARITHOP><VALUE>
 <MODVALUE> ::= <VALUE>! "#"<VALUE> ! <VALUE>",""X"
 <ASCIISTR> ::= <ASCIICHAR>(<ASCIISTR>)
 <COMMENT> ::= <COMCHAR>(<COMMENT>)
 <OPERATOR> ::= <ALPHA><ALPHA><ALPHA>
 <REG> ::= "A" ! "B"
 <CONSTANTFIELD> ::= <VALUE>(","<CONSTANTFIELD>)
 <INSTR> ::= <OPERATOR>!<OPERATOR><SP><MODVALUE>!
          <OPERATOR><SP><REG>!<OPERATOR><SP><REG><SP><MODVALUE>


 FORMAT OF STATEMENTS
 <GOODLINE> ::=
               [<SP>]"*"<COMMENT>
                      !
               <ASSEMBDIRECTIVE>
                      !
               (<LABEL>)<SP><INSTR>(<SP><COMMENT>)
                      !
               <SP><INSTR>(<SP><COMMENT>)
                ^NOTE THE SPACE AT THE START OF THE LINE.
                IT SIGNIFIES THAT THE LINE HAS NO LABEL.

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

"ORG"<SP><VALUE>  ;THIS ASSIGNS VALUE TO THE PROGRAM COUNTER,
                   LIKE    * = VALUE.

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

 (<LABEL>)<SP>"FCB"<SP><CONSTANTFIELD>
              ;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><CONSTANTFIELD>
            ;FORM DOUBLE BYTE, EACH VALUE BECOMES A DOUBLE
             BYTE IN MEMORY.

 (<LABEL>)<SP>"RMB"<SP><VALUE>
            ;RESERVE MEMORY BYTES, EFFECTIVELY *=*+VALUE,
             ADDS VALUE TO PROGRAM COUNTER.
 "END"
            ;SIGNALS THE END OF THE PROGRAM. MUST BE FOLLOWED
             BY MON DIRECTIVE, OR BY ANOTHER PROGRAM.
 "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