Introduction
The PDP-11 was built as a family from 1970 to the 1990s, and the models did not all have the same instructions: the first ones had only the original set, and later ones added instructions or made options standard. The explorer groups the instructions into feature groups and lets you choose a model that has some of the groups. An instruction in a group the model lacks is shown with the status not in this model.
The default choice is All: every group, the union of the models. It is the safest for an unknown file, because a program for any model decodes. The models that can be chosen are the ones whose instruction sets could be read from sources (see below): they are not the whole family.
Feature groups
| Group | Instructions | Where it came from |
|---|---|---|
base | the double and single operand instructions, branches, JMP, JSR, RTS, RTI, the traps, HALT, WAIT, RESET, the condition-code instructions, SWAB | every model |
ltd | MARK, RTT, SOB, SXT, XOR | the “limited EIS” of the GNU assembler’s option list, which makes them a set of their own; standard on the later models |
eis | MUL, DIV, ASH, ASHC | an option on the 11/35 and 11/40 and the LSI-11, standard on the 11/45, 11/70 and later (mdfs.net, Wikipedia) |
fis | FADD, FSUB, FMUL, FDIV | an option on the 11/35, 11/40 and the LSI-11 (mdfs.net, Wikipedia) |
fpp | the FP11 instructions (floating point) | an option on the 11/45, 11/70 and most later models (Wikipedia); the 11/70 behaviour is that of the emulator core |
spl | SPL | 11/45 and later and the 11/44 and J-11 (GNU assembler: SPL on the J-11); not on the 11/40 |
mfpi | MFPI, MTPI | models with memory management and address-space instructions; the 11/20 does not have them (from handbook memory) |
mfpd | MFPD, MTPD | models with separate instruction and data space (11/45, 11/70 and later; mdfs.net lists them for the J-11, LSI-11/23 and 11/44) |
mxps | MFPS, MTPS | models that do not map the PSW in memory or added them: the J-11, LSI-11, F-11 and T-11 (mdfs.net, GNU assembler); the emulator core of the 11/70 does not have them |
csm | CSM | 11/44 and J-11 (mdfs.net) |
mfpt | MFPT | T-11, J-11, F-11 and the 11/44 (mdfs.net); the 11/70 does not have it |
multiproc | TSTSET, WRTLCK | J-11 (mdfs.net, GNU assembler) |
The models you can choose
| Choice | Groups | Notes |
|---|---|---|
| All (default) | every group | the union, FIS included |
| 11/05, 11/10, 11/20 | base | the original set: no SXT, MARK, SOB, XOR, RTT, EIS, FIS, FP11, SPL or the previous-space moves |
| 11/40 | base, ltd, eis, fis, mfpi | the 11/40 had the limited EIS and MFPI/MTPI; the EIS and FIS were options, and this choice assumes both fitted. The 11/34 and 11/35 are not separated. |
| 11/45, 11/50, 11/55, 11/70 | base, ltd, eis, fpp, spl, mfpi, mfpd | checked against the emulator core of the 11/70: every word it executes is what the decoder calls documented for this choice (the FP11 was an option: assumed fitted) |
| J-11 | base, ltd, eis, fpp, spl, mfpi, mfpd, mxps, csm, mfpt, multiproc | the 11/73, 11/83, 11/84, 11/93 and 11/94 use the J-11; its CSM, TSTSET, WRTLCK and MFPT cannot be checked against a core here |
Assembler syntax
DEC’s MACRO-11 is the default. The UNIX assembler as differs in the operand syntax ($n for #n, * for @, *$addr for @#addr), writes sys n for trap n, spells the floating-point moves
movf, movif, movfi, movof, movfo, movie, movei and the accumulators fr0 to fr3, and has bec and bes for the carry branches and mpy, dvd, als, alsc for MUL, DIV, ASH, ASHC.
Numbers are octal in both. The explorer’s UNIX syntax changes the operand syntax, sys and the floating-point moves; it does not rename the branches or the extended instructions. See addressing modes.
Not described
Known, not yet covered
- Separate choices for the 11/04, 11/34, 11/44, LSI-11 (11/03), F-11 (11/23), T-11 and the CIS: their instruction sets were not read in enough detail to list them.
Unknown
- Whether each model listed above treats an instruction of a group it lacks as a reserved instruction (vector 10) in every case: the emulator core does so for the 11/70; the other models were not checked.
- The sources disagree about which processors have SPL and MFPS/MTPS (mdfs.net and the GNU assembler list different ones); the choices above follow the instruction lists they agree on.
Links
Reference
- PDP-11 instruction set – mdfs.net: which processors have EIS, FIS, MFPS, MFPT, CSM, SPL, TSTSET and WRTLCK
- GNU as, PDP-11 notes – the extension names (
-meis,-mlimited-eis,-mfis,-mfpp,-mspl,-mmxps,-mcsm,-mmfpt,-mmultiproc) - PDP-11 architecture – Wikipedia