Introduction
The 65,536 values of the first word of an instruction, in octal, in ranges. A range is one instruction with its operand fields (the register or mode bits and offsets are part of the range). The
Group is the feature group (models); base is on every model. A range marked reserved is no instruction in any model the decoder knows: it traps through vector 10 and is shown as .word.
Every row is checked against the decoder for every word in it.
The map
| From | To | Instruction | Group |
|---|---|---|---|
000000 | 000000 | halt | base |
000001 | 000001 | wait | base |
000002 | 000002 | rti | base |
000003 | 000003 | bpt | base |
000004 | 000004 | iot | base |
000005 | 000005 | reset | base |
000006 | 000006 | rtt | ltd |
000007 | 000007 | mfpt | mfpt |
000010 | 000077 | reserved | – |
000100 | 000177 | jmp | base |
000200 | 000207 | rts | base |
000210 | 000227 | reserved | – |
000230 | 000237 | spl | spl |
000240 | 000277 | nop, clc, clv, clz, cln, sec, sev, sez, sen, ccc, scc and combinations | base |
000300 | 000377 | swab | base |
000400 | 000777 | br | base |
001000 | 001377 | bne | base |
001400 | 001777 | beq | base |
002000 | 002377 | bge | base |
002400 | 002777 | blt | base |
003000 | 003377 | bgt | base |
003400 | 003777 | ble | base |
004000 | 004777 | jsr | base |
005000 | 005077 | clr | base |
005100 | 005177 | com | base |
005200 | 005277 | inc | base |
005300 | 005377 | dec | base |
005400 | 005477 | neg | base |
005500 | 005577 | adc | base |
005600 | 005677 | sbc | base |
005700 | 005777 | tst | base |
006000 | 006077 | ror | base |
006100 | 006177 | rol | base |
006200 | 006277 | asr | base |
006300 | 006377 | asl | base |
006400 | 006477 | mark | ltd |
006500 | 006577 | mfpi | mfpi |
006600 | 006677 | mtpi | mfpi |
006700 | 006777 | sxt | ltd |
007000 | 007077 | csm | csm |
007100 | 007177 | reserved | – |
007200 | 007277 | tstset | multiproc |
007300 | 007377 | wrtlck | multiproc |
007400 | 007777 | reserved | – |
010000 | 017777 | mov | base |
020000 | 027777 | cmp | base |
030000 | 037777 | bit | base |
040000 | 047777 | bic | base |
050000 | 057777 | bis | base |
060000 | 067777 | add | base |
070000 | 070777 | mul | eis |
071000 | 071777 | div | eis |
072000 | 072777 | ash | eis |
073000 | 073777 | ashc | eis |
074000 | 074777 | xor | ltd |
075000 | 075007 | fadd | fis |
075010 | 075017 | fsub | fis |
075020 | 075027 | fmul | fis |
075030 | 075037 | fdiv | fis |
075040 | 076777 | reserved (the commercial instruction set, CIS, is in 076000–076777 on the models that have it: not decoded) | – |
077000 | 077777 | sob | ltd |
100000 | 100377 | bpl | base |
100400 | 100777 | bmi | base |
101000 | 101377 | bhi | base |
101400 | 101777 | blos | base |
102000 | 102377 | bvc | base |
102400 | 102777 | bvs | base |
103000 | 103377 | bcc (bhis) | base |
103400 | 103777 | bcs (blo) | base |
104000 | 104377 | emt | base |
104400 | 104777 | trap | base |
105000 | 105077 | clrb | base |
105100 | 105177 | comb | base |
105200 | 105277 | incb | base |
105300 | 105377 | decb | base |
105400 | 105477 | negb | base |
105500 | 105577 | adcb | base |
105600 | 105677 | sbcb | base |
105700 | 105777 | tstb | base |
106000 | 106077 | rorb | base |
106100 | 106177 | rolb | base |
106200 | 106277 | asrb | base |
106300 | 106377 | aslb | base |
106400 | 106477 | mtps | mxps |
106500 | 106577 | mfpd | mfpd |
106600 | 106677 | mtpd | mfpd |
106700 | 106777 | mfps | mxps |
107000 | 107777 | reserved | – |
110000 | 117777 | movb | base |
120000 | 127777 | cmpb | base |
130000 | 137777 | bitb | base |
140000 | 147777 | bicb | base |
150000 | 157777 | bisb | base |
160000 | 167777 | sub | base |
170000 | 170000 | cfcc | fpp |
170001 | 170001 | setf | fpp |
170002 | 170002 | seti | fpp |
170003 | 170010 | reserved | – |
170011 | 170011 | setd | fpp |
170012 | 170012 | setl | fpp |
170013 | 170077 | reserved | – |
170100 | 170177 | ldfps | fpp |
170200 | 170277 | stfps | fpp |
170300 | 170377 | stst | fpp |
170400 | 170477 | clrf | fpp |
170500 | 170577 | tstf | fpp |
170600 | 170677 | absf | fpp |
170700 | 170777 | negf | fpp |
171000 | 171377 | mulf | fpp |
171400 | 171777 | modf | fpp |
172000 | 172377 | addf | fpp |
172400 | 172777 | ldf | fpp |
173000 | 173377 | subf | fpp |
173400 | 173777 | cmpf | fpp |
174000 | 174377 | stf | fpp |
174400 | 174777 | divf | fpp |
175000 | 175377 | stexp | fpp |
175400 | 175777 | stcfi | fpp |
176000 | 176377 | stcfd | fpp |
176400 | 176777 | ldexp | fpp |
177000 | 177377 | ldcif | fpp |
177400 | 177777 | ldcdf | fpp |
Reserved words
The reserved ranges hold 1,955 of the 65,536 words:000010–000077, 000210–000227, 007100–007177, 007400–007777,
075040–076777, 107000–107777, 170003–170010 and 170013–170077. What a particular model does with them was not sourced; the decoder says only that no model it knows defines them.
Not described
Known, not yet covered
- The commercial instruction set (CIS) in
076000–076777and the microcode-option instructions (LDUB, MED, XFC) of the models that have them.
Unknown
- What each reserved word does on each model.
Links
Reference
- PDP-11 instruction set – mdfs.net
- GNU as, PDP-11 notes – the extension sets, including CIS and the microcode instructions