Die PDP-11 war ein 16-Bit-Computer, der von DEC in den 70ern und 80ern verkauft wurde. Er ist der Nachfolger des 12-Bit-Computers PDP-8 in der Programmed-Data-Processor-Reihe. Eingeführt wurde die PDP-11-Baureihe im Jahr 1970.
| 0 | 9 | 10 | 12 | 13 | 15 | ||||||||||
| OP-Code | Mode | Register | |||||||||||||
Die wichtigsten 1-Adressbefehle sind:
| 0 | 3 | 4 | 6 | 7 | 9 | 10 | 12 | 13 | 15 | ||||||
| OP-Code | Mode | Register | Mode | Register | |||||||||||
Die wichtigsten 2-Adressbefehle sind:
| 0 | 7 | 8 | 15 | ||||||||||||
| OP-Code | Offset |
Die PDP-11 bringt sehr viele Sprungbefehle mit, insgesamt 18 verschiedene.
| Bitfolge | Kurzform | Name / Beschreibung |
|---|---|---|
| 000 | Rn | Register direkt: Der Wert, der im Register Rn steht, wird verwendet |
| 001 | @Rn | Register indirekt: Der Wert, der an der Speicherstelle steht, die im Register Rn steht |
| 010 | (Rn)+ | Autoinkrement: Der Wert, der an der Speicherstelle steht, die im Register Rn steht; Rn wird um ein Wort erhöht |
| 011 | @(Rn)+ | Autoinkrement indirekt: Der Wert, der an der Speicherstelle steht, die an der Speicherstelle steht, die im Register Rn steht; Rn wird um ein Wort erhöht |
| 100 | -(Rn) | Autodekrement: Rn wird um ein Wort verringert; Der Wert, der an der Speicherstelle steht, die dann im Register Rn steht |
| 101 | @-(Rn) | Autodekrement: Rn wird um ein Wort verringert; Der Wert, der an der Speicherstelle steht, die an der Speicherstelle steht, die dann im Register Rn steht |
| 110 | X(Rn) | Index: Der Wert in Rn wird mit X addiert und der Wert verwendet, der an der Speicherstelle steht, die durch die Summe gegeben ist |
| 111 | @X(Rn) | Index: Der Wert in Rn wird mit X addiert und der Wert verwendet, der an der Speicherstelle steht, auf die die Speicherstelle zeigt, die durch die Summe gegeben ist |
| Bitfolge | Kurzform | Name / Beschreibung |
|---|---|---|
| 010 | #N | Immediate: Der Wert folgt dem Befehl im Programmspeicher |
| 011 | @#A | Absolute: Die Speicheradresse des Wertes folgt dem Befehl im Programmspeicher |
| 110 | A | Relative: Die Speicheradresse des Wertes ist die Summe aus dem aktuellen Programmzähler und dem Offset, das dem Befehl im Programmspeicher folgt |
| 111 | @A | Relative Indirekt: An der Speicheradresse, die die Summe des aktuellen Programmzählers und dem, dem Befehl folgenden Offset ist, steht die Adresse, an der der Wert zu finden ist |