63.2. Instrukční sada

63.2.1. IOT (Input-Output Transfer) instrukce
63.2.2. OPR (OPeRate) instrukce
63.2.3. Nultá stránka paměti
63.2.4. Kousky kódu
63.2.5. Abecední seznam instrukcí PDP-8

Velikost slova minipočítače PDP-8 je 12 bitů, a základní velikost paměti je 4K slov. Procesor počítače obsahuje 3 registry:

Obrázek 63.4. Registry PDP-8 přístupné programátorovi

Registry PDP-8 přístupné programátorovi

TBD

Obrázek 63.5. Instrukční slovo PDP-8

 _ _ _ _ _ _ _ _ _ _ _ _
|_|_|_|_|_|_|_|_|_|_|_|_|
|     | | |             |
|  op |i|z|    addr     |

Obrázek 63.6. Formát instrukčního slova PDP-8

Formát instrukčního slova PDP-8

Obrázek 63.7. Základní formát instrukčního slova PDP-8

  0   1   2   3   4   5   6   7   8   9  10  11
+---+---+---+---+---+---+---+---+---+---+---+---+
|OP CODE 0-5|IA |MP |          Address          |
+---+---+---+---+---+---+---+---+---+---+---+---+
              |   |        In page address
              |   |
              |   `------- MEMORY PAGE
              |             0 = PAGE ZERO (0000…0177)
              |             1 = CURRENT PAGE (based on PC)
              |
              `----------- INDIRECT ADDRESSING
                            0 = DIRECT
                            1 = INDIRECT

	    
pole / bitvýznam
opoperační kód
iaindirect bit (0 = direct, 1 = indirect)
zppage bit (0 = zero page, 1 = current page)
addradresa v stránce

Tabulka 63.5. Základní instrukce PDP-8

kódnázevpopis
000ANDlogical AND: operand ∧ AC → AC
001TAD2's complement add: operand + <L,AC> → <L,AC>
010ISZincrement operand and skip if zero
011DCAdeposit and clear AC: AC → paměť, 0 → AC
100JMSskok do podprogramu
101JMPskok
110IOTin-out transfer, manipulaces v/v zařízeními
111OPRmikrokódovaná operace

ISZ a další přeskokové instrukce podmíněně přeskočí následující instrukci.

Instrukce volání podprogramu JMS ukládá návratovou adresu (aktuální hodnotu PC) do prvního slova podprogramu. Návrat z podporgarmu je přes nepřímý skok na tuto uloženou adresu.

V dokumentu 690304 Proposed PDP-11 Re-Organization jsem našel následující informaci vypovídající jak často jsou použity jednotlivé instrukce v programu FOCAL-8. Zběžným pohledem je vidět že součástí tabulky není instrukce ISZ. Proč to nevím ale nedovedu si představit program bez této instrukce.

Tabulka 63.6. Četnosti užití instrukcí v programu FOCAL-8

Instrukcepočet OCTpočet DEC
AND500320
TAD1000512
DCA200128
JMS500320
JMP600384
IOT2016
OPR1300192
OPR2400256
Licence Creative Commons
Elektronika a počítače, jejímž autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .