─────────────────────────────────────────────────────────────────
    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
│  ║░░│░░│░░║  │  │  ║░░│░░│░░║  │  │  ║░░│░░│░░│ 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 = sourse field (6 bits)         s  = contents of sourse
DD = destination field (6 bits)    d  = contents of destination
R  = gen register (3 bits), 0to7   r  = contents of register
XXX= offset (8 bits), +127to-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 ← (ns ↑ d) очистка по маске      * * 0 -
 BIS   d ← (s ↑ d) уст-ка по маске        * * 0 -
 ADD   d ← s + d  сложение                * * * *
 SUB   d ← s - d  вычитание               * * * *
 SWAB  перестановка байтов                * * 0 0
------------------------------------------------------

