Disclaimer: This information is provided as is. There may be errors in this information. You may use this information only if you agree that Minimalist / Coinop.org, its employees, and noted authors will never be held responsible for any damage, injury, death, mayhem, etc. caused by errors in the information. When working with high voltage, never work alone and always follow safety precautions.

Document Title: [J-11.txt (text file)]

----------------------------------------------------------------
|                                                              |
|                                                              |
|                Digital Equipment Corporation                 |
|                                                              |
|                   JJJJJJJ       1     1                      |
|                      J         11    11                      |
|                      J          1     1                      |
|                      J    XXX   1     1                      |
|                      J          1     1                      |
|                  J   J          1     1                      |
|                   JJJ          111   111                     |
|                                                              |
|         J-11 MICROPROCESSOR Instruction Set Summary          |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                    _________    _________                    |
|                   |         \__/         |                   |
|        --> TEST1 -|1                   60|- DAL6 <-->        |
|         <-- AIO0 -|2                   59|- DAL7 <-->        |
|         <-- AIO1 -|3                   58|- DAL8 <-->        |
|         <-- AIO2 -|4                   57|- DAL0 <-->        |
|         <-- AIO3 -|5    ____________   56|- DAL9 <-->        |
|         --> PWRF -|6   |            |  55|- DAL10 <-->       |
|          --> FPE -|7   |Control chip|  54|- DAL11 <-->       |
|        --> EVENT -|8   |____________|  53|- DAL12 <-->       |
|         --> HALT -|9                   52|- DAL13 <-->       |
|         --> IRQ0 -|10                  51|- DAL14 <-->       |
|         --> IRQ1 -|11                  50|- DAL15 <-->       |
|         --> IRQ2 -|12                  49|- DAL1 <-->        |
|         --> IRQ3 -|13                  48|- DAL2 <-->        |
|       --> PARITY -|14                  47|- DAL3 <-->        |
|              GND -|15       DCJ11      46|- Vcc              |
|              Vcc -|16                  45|- GND              |
|          <-- BS0 -|17                  44|- DAL4 <-->        |
|          <-- BS1 -|18                  43|- DAL5 <-->        |
|          <-- MAP -|19                  42|- DV <--           |
|       <--> ABORT -|20                  41|- BUFCTL -->       |
|        <-- DAL21 -|21                  40|- ALE -->          |
|        <-- DAL20 -|22                  39|- STRB -->         |
|        <-- DAL19 -|23   ____________   38|- SCTL -->         |
|        <-- DAL18 -|24  |            |  37|- XTAL0 <-->       |
|        <-- DAL17 -|25  | Data  chip |  36|- XTAL1 <-->       |
|        <-- DAL16 -|26  |____________|  35|- CLK -->          |
|          --> DMR -|27                  34|- CLK2 -->         |
|         --> MISS -|28                  33|- INIT <--         |
|         <-- PRDC -|29                  32|- CONT <--         |
|         NOT USED -|30                  31|- TEST2 <--        |
|                   |______________________|                   |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|Written by     Jonathan Bowen                                 |
|               Programming Research Group                     |
|               Oxford University Computing Laboratory         |
|               8-11 Keble Road                                |
|               Oxford OX1 3QD                                 |
|               England                                        |
|                                                              |
|               Tel +44-865-273840                             |
|                                                              |
|Created        May 1983                                       |
|Updated        April 1985                                     |
|Issue          1.1                Copyright (C) J.P.Bowen 1985|
----------------------------------------------------------------
----------------------------------------------------------------
|Mnemonic |Opcode|NZVC|Description               |Notes        |
|---------+------+----+--------------------------+-------------|
|ADCb d   |B055DD|****|Add Carry                 |d=d+C        |
|ADD  s,d |06SSDD|****|Add                       |d=s+d        |
|ASH  s,r |072RSS|****|Arithmetic Shift Combined |        (EIS)|
|ASLb d   |B063DD|****|Arithmetic Shift Left     |d=d*2        |
|ASRb d   |B062DD|****|Arithmetic Shift Right    |d=d/2        |
|BCC  a   |1030XX|----|Branch if Carry Clear     |If C=0       |
|BCS  a   |1034XX|----|Branch if Carry Set       |If C=1       |
|BEQ  a   |0014XX|----|Branch if Equal           |If Z=0       |
|BGE  a   |0020XX|----|Branch if Greater or Equal|If NxV=0     |
|BGT  a   |0030XX|----|Branch if Greater Than    |If Zv{NxV}=0 |
|BICb s,d |B4SSDD|**0-|Bit Clear                 |d=d&{~s}     |
|BISb s,d |B5SSDD|**0-|Bit Set (OR)              |d=dvs        |
|BITb s,d |B3SSDD|**0-|Bit Test (AND)            |d&s          |
|BHI  a   |1010XX|----|Branch if Higher          |If CvZ=0     |
|BHIS a   |1030XX|----|Branch if Higher or Same  |If C=0       |
|BLE  a   |0034XX|----|Branch if Less or Equal   |If Zv{NxV}=1 |
|BLT  a   |0024XX|----|Branch if Less Than       |If NxV=1     |
|BLO  a   |1034XX|----|Branch if Lower           |If C=1       |
|BLOS a   |1014XX|----|Branch if Lower or Same   |If CvZ=1     |
|BMI  a   |1004XX|----|Branch if Minus           |If N=1       |
|BNE  a   |0010XX|----|Branch if Not Equal       |If Z=1       |
|BPL  a   |1000XX|----|Branch if Plus            |If N=0       |
|BPT      |000003|----|Breakpoint Trap           |Vector at 14 |
|BR   a   |0004XX|----|Branch                    |PC=PC+2*XX   |
|BVC  a   |1020XX|----|Branch if Overflow Clear  |If V=0       |
|BVS  a   |1024XX|----|Branch if Overflow Set    |If V=1       |
|CALL d   |0047DD|----|Call subroutine           | (= JSR PC,d)|
|CCC      |000257|0000|Clear all Condition Codes |{C,N,V,Z}=0  |
|CLC      |000241|---0|Clear Carry               |C=0          |
|CLN      |000250|0---|Clear Negative            |N=0          |
|CLRb d   |B050DD|0100|Clear                     |d=0          |
|CLV      |000242|--0-|Clear Overflow            |V=0          |
|CLZ      |000244|-0--|Clear Zero                |Z=0          |
|CMPb s,d |B2SSDD|****|Compare                   |s-d          |
|COMb d   |B051DD|**01|Complement                |d=~d         |
|DECb d   |B053DD|***-|Decrement                 |d=d-1        |
|DIV  s,r |071RSS|****|Divide                    |r=r/s   (EIS)|
|EMT  t   |1040TT|----|Emulator Trap             |Vector at 30 |
|FADD r   |07500R|**00|Floating Add              |        (FIS)|
|FDIV r   |07503R|**00|Floating Divide           |        (FIS)|
|FMUL r   |07502R|**00|Floating Multiply         |        (FIS)|
|FSUB r   |07501R|**00|Floating Subtract         |        (FIS)|
|HALT     |000000|----|Halt                      |             |
|INCb d   |B052DD|***-|Increment                 |d=d+1        |
|IOT      |000004|----|Input/Output Trap         |Vector at 20 |
|JMP  d   |0001DD|----|Jump                      |PC=d         |
|JSR  r,d |004RDD|----|Jump to Subroutine        |r=PC,PC=d    |
|MARK n   |0064NN|----|Mark stack                |RTS aid      |
|MFPD s   |1065SS|**0-|Move From Previous Data   |             |
|MFPI s   |0065SS|**0-|Move From Previous Instr. |             |
|MOVb s,d |B1SSDD|**0-|Move                      |d=s          |
|MTPD d   |1066DD|**0-|Move To Previous Data     |             |
|MTPI d   |0066DD|**0-|Move To Previous Instr.   |             |
|MUL  s,r |070RSS|**0*|Multiply                  |r=r*s   (EIS)|
|NEGb d   |B054DD|****|Negate                    |d=-d         |
|NOP      |000240|----|No Operation              |             |
|RESET    |000005|----|Reset external bus        |             |
|RETURN   |000207|----|Return from subroutine    |   (= RTS PC)|
|ROLb d   |B061DD|****|Rotate Left               |d={C,d}<-    |
|RORb d   |B060DD|****|Rotate Right              |d=->{C,d}    |
|RTI      |000002|----|Return from Interrupt     |{PC,PS}=(SP)+|
|RTS  r   |00020R|----|Return from Subroutine    |PC=r,r=(SP)+ |
|RTT      |000006|----|Return from Trace trap    |No T trap    |
|SBCb d   |B056DD|****|Subtract Carry            |d=d-C        |
|SCC      |000277|1111|Set all Condition Codes   |{C,N,V,Z}=0  |
|SEC      |000261|---1|Set Carry                 |C=1          |
|SEN      |000270|1---|Set Negative              |N=1          |
|SEV      |000262|--1-|Set Overflow              |V=1          |
|SEZ      |000264|-1--|Set Zero                  |Z=1          |
|SOB  r,a |077RNN|----|Subtract One and Branch   |PC=PC-2*NN   |
|SPL  n   |00023N|----|Set Priority Level        |PS<7:5>=N    |
|SUB  s,d |16SSDD|****|Subtract                  |d=d-s        |
|SWAB d   |0003DD|**00|Swap Bytes                |             |
|SXT  d   |0067DD|-*0-|Sign Extend               |d=0 or -1    |
|TRAP t   |1044TT|----|Trap                      |Vector at 34 |
----------------------------------------------------------------
----------------------------------------------------------------
|Mnemonic |Opcode|NZVC|Description               |Notes        |
|---------+------+----+--------------------------+-------------|
|TSTb d   |B055DD|**00|Test                      |d            |
|WAIT     |000001|----|Wait for interrupt        |             |
|XOR  r,d |074RDD|**0-|Exclusive OR              |d=dxr        |
|---------+------+----+----------------------------------------|
|         |     B|    |0 for word, 1 for byte (1 bit)          |
|         |    DD|    |Destination field (6 bits)              |
|         |     N|    |Number (3 bits)                         |
|         |    NN|    |Number (6 bits)                         |
|         |     R|    |Register (3 bits, R0-5/SP/PC)           |
|         |    SS|    |Source field (6 bits)                   |
|         |    TT|    |Number (8 bits)                         |
|         |    XX|    |Offset (8 bits, -128 to +127)           |
|----------------+----+----------------------------------------|
| PSW            |-*01|Flag unaffected/affected/reset/set      |
|                |    |Current mode (Bits 15 to 14)            |
|                |    |Previous mode (Bits 13 to 12)           |
|                |    |General register set (Bit 11)           |
|                |    |Priority level (Bits 7 to 5)            |
| T              |    |Trace trap (Bit 4)                      |
| N              |N   |Negative (Bit 3)                        |
| Z              | Z  |Zero (Bit 2)                            |
| V              |  V |Overflow (Bit 1)                        |
| C              |   C|Carry (Bit 0)                           |
|---------------------+----------------------------------------|
| r                   |Register (mode 0)                       |
| (r)                 |Register deferred (mode 1)              |
| @r                  | ditto                                  |
| (r)+                |Auto-increment (mode 2)                 |
| @(r)+               |Auto-increment deferred (mode 3)        |
| -(r)                |Auto-decrement (mode 4)                 |
| @-(r)               |Auto-decrement deferred (mode 5)        |
| nn(r)               |Index (mode 6)                          |
| @nn(r)              |Index deferred (mode 7)                 |
| #nn                 |Immediate (mode 2, r=PC)                |
| @#nn                |Absolute (mode 3, r=PC)                 |
| nn                  |Relative (mode 6, r=PC)                 |
| @nn                 |Relative deferred (mode 7, r=PC)        |
|---------------------+----------------------------------------|
| Rn                  |General purpose Register (16-bit, n=0-5)|
| SP                  |Stack Pointer (16-bit, R6)              |
| PC                  |Program Counter (16-bit, R7)            |
| PS                  |Processor Status (16-bit)               |
|---------------------+----------------------------------------|
| a                   |Relative address                        |
| b                   |Blank or B for word or byte operand(s)  |
| d                   |Destination                             |
| n                   |Register number (0 to 5)                |
| nn                  |16-bit expression (0 to 65535)          |
| r                   |Register (Rn,SP,PC)                     |
| s                   |Source                                  |
| t                   |Trap number (0 to 255)                  |
| +   -               |Add/subtract                            |
| *   /               |Multiply/divide                         |
| ^                   |Exponent power                          |
| &   ~               |Logical AND/NOT                         |
| v   x               |Logical inclusive/exclusive OR          |
| <-  ->              |Rotate left/right                       |
| { }                 |Combination of operands                 |
| < : >               |Bit range                               |
|---------------------+----------------------------------------|
| DEC                 |Digital Equipment Corporation           |
| EIS                 |Extended fixed point Instruction Set    |
| FIS                 |Floating point Instruction Set          |
| PSW                 |Processor Status Word                   |
|---------------------+----------------------------------------|
| 000                 |Reserved vector                         |
| 004                 |Time-out/system error vector            |
| 010                 |Illegal and reserved instruction vector |
| 014                 |BPT instruction vector                  |
| 020                 |IOT instruction vector                  |
| 024                 |Power fail vector                       |
| 030                 |EMT instruction vector                  |
| 034                 |TRAP instruction vector                 |
| 060                 |Console input device vector             |
| 064                 |Console output device vector            |
| 100                 |External event line interrupt vector    |
| 160000-177776       |Device addresses                        |
----------------------------------------------------------------
}