
-----------------------------------------------------------------
    D i g i t a l   E q u i p m e n t   C o r p o r a t i o n

    MAYNARD, MASSACHUSETTS                          July 1975

        programming card for family of PDP-11 computers
----------------------------------------------------------------

WORD FORMAT:

 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
-------------------------------------------------  binary-octal
!  !XXXXXXXX!        !XXXXXXXX!        !XXXXXXXX! representation
-------------------------------------------------

                                               ------------------
                                               !  MODE  !   R   !
                                               ------------------

Mode   Name            Symbolic         Description

 0  register               R        (R) is operand [ex.R2=%2]
 1  register deferred     (R)       (R) is address
 2  auto-increment        (R)+      (R) is adrs; (R) + (1 or 2)
 3  auto-incr.deffered   @(R)+      (R) is adrs of adrs; (R) + 2
 4  auto-decrement       -(R)       (R) - (1 or 2); (R) is adrs
 5  auto-decr.deffered  @-(R)       (R) - 2; (r) is adrs of adrs
 6  index                X(R)       (R) + X is adrs
 7  index deffered      @X(R)       (R) + X is adrs of adrs

-----------------------------------------------------------------

PROGRAM COUNTER ADDRESSING: Reg=7              ------------------
                                               !  MODE  !   7   !
                                               ------------------

Mode   Name            Symbolic         Description

 2  immediate             #n      operand n follows instr
 3  absolute             @#A      address A follows instr
 6  relative               A      instr adrs +4+X is adrs
 7  relative deffered     @A      instr adrs +4+X is adrs of adrs

-----------------------------------------------------------------

LEGEND:

Op Codes                           Operations

o  = 0 for word / 1 for byte       ( )= contents of
SS = source field (6 bits)         s  = contents of source
DD = destination field (6 bits)    d  = contents of destination
R  = gen register (3 bits),0 to 7  r  = contents of register
XXX= offset (8 bits),+127 to -128  <= = becomes
N  = number (3 bits)               X  = relative address
NN = number (6 bits)               %  = register definition


Boolean                            Condition Codes

^  = AND                           .  = conditionally set/cleared
v  = inclusive OR                  -  = not affected
xor= exclusive OR                  0  = cleared
~  = NOT                           1  = set


NOTE:

   # = Applies to the 11/35, 11/40, 11/45 & 11/70 computers
   > = Applies to the 11/45 & 11/70 computers

-----------------------------------------------------------------

NUMERICAL OP CODE LIST:

 Op Code   Mnemonic  |  Op Code   Mnemonic  |  Op Code   Mnemonic
----------------------------------------------------------------
00 00 00   HALT      | 00 60 DD   ROR       | 10 40 00 \
00 00 01   WAIT      | 00 61 DD   ROL       |     |     | EMT
00 00 02   RTI       | 00 62 DD   ASR       | 10 43 77 /
00 00 03   BPT       | 00 63 DD   ASL       |
00 00 04   IOT       | 00 64 NN   MARK      | 10 44 00 \
00 00 05   RESET     | 00 65 SS   MFPI      |     |     | TRAP
00 00 06   RTT       | 00 66 DD   MTPI      | 10 47 77 /
00 00 07 \           | 00 67 DD   SXT       |
    |     | (unused) |                      | 10 50 DD   CLRB
00 00 77 /           | 00 70 00 \           | 10 51 DD   COMB
                     |     |     | (unused) | 10 52 DD   INCB
00 01 DD   JMP       | 00 77 77 /           | 10 53 DD   DECB
00 02 0R   RTS       |                      | 10 54 DD   NEGB
                     | 01 SS DD   MOV       | 10 55 DD   ADCB
00 02 10 \           | 02 SS DD   CMP       | 10 56 DD   SBCB
    |     | (unused) | 03 SS DD   BIT       | 10 57 DD   TSTB
00 02 27 /           | 04 SS DD   BIC       |
                     | 05 SS DD   BIS       | 10 60 DD   RORB
00 02 3N   SPL       | 06 SS DD   ADD       | 10 61 DD   ROLB
00 02 40   NOP       |                      | 10 62 DD   ASRB
                     | 07 0R SS   MUL       | 10 63 DD   ASLB
00 02 41 \           | 07 1R SS   DIV       |
    |     |cond codes| 07 2R SS   ASH       | 10 64 SS   MTPS
00 02 77 /           | 07 3R SS   ASHC      | 10 65 SS   MFPD
                     | 07 4R DD   XOR       | 10 66 DD   MTPD
00 03 DD   SWAB      |                      | 10 67 DD   MFPS
                     | 07 50 0R   FADD      |
00 04 XXX  BR        | 07 50 1R   FSUB      | 10 70 00 \
00 10 XXX  BNE       | 07 50 2R   FMUL      |     |     |(unused)
00 14 XXX  BEQ       | 07 50 3R   FDIV      | 10 77 77 /
00 20 XXX  BGE       |                      |
00 24 XXX  BLT       | 07 50 40 \           | 11 SS DD   MOVB
00 30 XXX  BGT       |     |     | (unused) | 12 SS DD   CMPB
00 34 XXX  BLE       | 07 67 77 /           | 13 SS DD   BITB
                     |                      | 14 SS DD   BICB
00 4R DD   JSR       | 07 7R NN   SOB       | 15 SS DD   BISB
                     |                      | 16 SS DD   SUB
00 50 DD   CLR       | 10 00 XXX  BPL       |
00 51 DD   COM       | 10 04 XXX  BMI       | 17 00 00 \
00 52 DD   INC       | 10 10 XXX  BHI       |     |     | floating
00 53 DD   DEC       | 10 14 XXX  BLOS      | 17 77 77 /  point
00 54 DD   NEG       | 10 20 XXX  BVC       |
00 55 DD   ADC       | 10 24 XXX  BVS       |
00 56 DD   SBC       | 10 30 XXX  BCC, BHIS |
00 57 DD   TST       | 10 34 XXX  BCS, BLO  |
                     |                      |
-----------------------------------------------------------------

                                          N Z V C
 CLR   d <= 0  ⪠                    0 1 0 0
 COM   inv d                      * * 0 1
 INC   d <= d + 1  㢥祭             * * * -
 DEC   d <= d - 1  㬥襭             * * * -
 NEG   d <= -d               * * * *
 ADC   d <= d + c  ਡ ७   * * * *
 SBC   d <= d - c  ⠭ ७     * * * *
 TST   AC <= d                        * * 0 0
 ROR   d <= (d >> c) 横.ᤢ ࠢ    * * * *
 ROL   d <= (c << d) 横.ᤢ      * * * *
 ASR   d <= (d >> c) ᤢ ࠢ         * * * *
 ASL   d <= (c << d) ᤢ           * * * *
 SXT   d <= N  ७            - * 0 -
 MOV   d <= s  뫪                  * * 0 0
 CMP   d - s  ࠢ 䬥.        * * * *
 BIT   s ^ d  ஢ઠ ࠧ冷           * * 0 -
 BIC   d <= (~s ^ d) ⪠  ᪥     * * 0 -
 BIS   d <= (s ^ d) -  ᪥       * * 0 -
 ADD   d <= s + d  ᫮               * * * *
 SUB   d <= s - d  ⠭              * * * *
 SWAB  ⠭ ⮢                * * 0 0
------------------------------------------------------
