Lista rozkazów
| Lp. | Mnemonik | Źródłosłów | Opis | Treść | Ustaw wskaźniki |
|---|---|---|---|---|---|
| 1 | LWn | Load Word | Umieść w rejestrze | R/A/ := N | |
| 2 | LWT | Load to Word paremeTer | Umieść krótki argument | R/A/ := T | |
| 3 | LWS | Load to Word Short | Pobierz względnie | R/A/ := S/IC+T/ | |
| 4 | LDn | Load Double word | Umieść w R1 i R2 | [R1, R2] := [S/N/, S/N+1/] | |
| 5 | LFn | Load Floating point number | Umieść w R1, R2 i R3 | [R1, R2, R3] := [S/N/, S/N+1/, S/N+2/] | |
| 6 | LAn | Load All registers | Umieść w R1, R2, ..., R7 | [R1, R2, ..., R7] := [S/N/, S/N+1/, ..., S/N+6/] | |
| 7 | LLn | Load Last three registers | Umieść w R5, R6 i R7 | [R5, R6, R7] := [S/N/, S/N+1/, S/N+2/] | |
| 8 | LSn | Load Selective | Umieść przez maskę w R7 | R/A/ := [R/A/∧R7] ∨ [N∧R7] | |
| 9 | TWn | Take Word | Umieść według NB | R/A/ := S/N,NB/ | |
| 10 | TDn | Take Double word | Pobierz do R1 i R2 | [R1, R2] := [S/N;NB/, S/N+1;NB/] | |
| 11 | TFn | Take Floating point number | Pobierz do R1, R2, R3 | [R1, R2, R3] := [S/N;NB/, S/N+1;NB/, S/N+2;NB/] | |
| 12 | TAn | Take to All registers | Pobierz do R1, R2, ..., R7 | [R1, R2, ..., R7] := [S/N;NB/, S/N+1;NB/, ..., S/N+6;NB/] | |
| 13 | TLn | Take to Last three registers | Pobierz do R5, R6, R7 | [R5, R6, R7] := [S/N;NB/, S/N+1;NB/, S/N+2;NB/] | |
| 14 | RWn | Remember Word | Pamiętaj rejestr | S/N/ := R/A/ | |
| 15 | RWS | Remember Word Short | Pamiętaj względnie | S/IC+N/ := R/A/ | |
| 17 | RDn | Remember Double word | Pamiętaj R1 i R2 | [S/N/, S/N+1/] := [R1, R2] | |
| 18 | RAn | Remember All registers | Pamiętaj R1, R2, ..., R7 | [S/N/, S/N+1/, ..., S/N+6/] := [R1, R2, ..., R7] | |
| 19 | RLn | Remember Last three registers | Pamiętaj R5, R6, R7 | [S/N/, S/N+1/, S/N+2/] := [R5, R6, R7] | |
| 20 | PWn | Put Word | Pamiętaj według NB | S/N;NB/ := R/A/ | |
| 21 | PDn | Put Double word | Prześlij R1 i R2 | [S/N;NB/, S/N+1;NB/] := [R1, R2] | |
| 22 | PFn | Put Floating point number | Prześlij R1, R2 i R3 | [S/N;NB/, S/N+1;NB/, S/N+2;NB/] := [R1, R2, R3] | |
| 23 | PAn | Put All registers | Prześlij R1, R2, ..., R7 | [S/N;NB/, S/N+1;NB/, ..., S/N+6;NB/] := [R1, R2, ..., R7] | |
| 24 | PLn | Put Last three registers | Prześlij R5, R6, R7 | [S/N;NB/, S/N+1;NB/, S/N+2;NB/] := [R5, R6, R7] | |
| 25 | RZn | Remember Zero | Zeruj słowo w pamięci | S/N/ := 0 | |
| 26 | RIn | Remember and Increment | Umieść w pamięci i dodaj 1 | S/R/A// := N R/A/ := R/A/ + 1 | |
| 27 | AWn | Add Word | Dodaj | R/A/ := R/A/ + N | Z, M, V, C |
| 28 | AWT | Add to Word parameTer | Dodaj krótki argument | R/A/ := R/A/ + T | Z, M, V, C |
| 29 | ACn | Add word with Carry | Dodaj z przeniesieniem | R/A/ := R/A/ + N + C | Z, M, V, C |
| 30 | SWn | Subtract Word | Odejmij | R/A/ := R/A/ - N | Z, M, V, C |
| 31 | CWn | Compare Word | Porównaj | R/A/ >=< N | L, E, G |
| 32 | CWT | Compare Word to parameTer | Porównaj z krótkim arg. | R/A/ >=< T | L, E, G |
| 33 | NGA | NeGation Arithmetic | Neguj arytmetycznie | R/A/ := R/A/+1 | Z, M, V, C |
| 34 | NGC | NeGation with Carry | Neguj z przeniesieniem | R/A/ := R/A/+C | Z, M, V, C |
| 35 | ADn | Add Double word | Dodaj liczby długie | [R1, R2] := [R1, R2] + [S/N/, S/N+1/] | Z, M, V, C |
| 36 | SDn | Subtract Double word | Odejmij liczby długie | [R1, R2] := [R1, R2] - [S/N/, S/N+1/] | Z, M, V, C |
| 37 | MWn | Multiply Words | Mnóż | [R1, R2] := R2 × S/N/ | Z, M, V |
| 38 | DWn | Divide Words | Dziel | R2 := [R1, R2] : S/N/ R1 := reszta |
Z, M |
| 39 | AFn | Add Floating point numbers | Dodaj liczby zmiennoprzecinkowe | [R1, R2, R3] := [R1, R2, R3] + [S/N/, S/N+1/, S/N+2/] | Z, M, C |
| 40 | SFn | Subtract Floating point numbers | Odejmij liczby zmennorzecinkowe | [R1, R2, R3] := [R1, R2, R3] - [S/N/, S/N+1/, S/N+2/] | Z, M, C |
| 41 | MFn | Multiply Floating point numbers | Pomnóż liczby zmennorzecinkowe | [R1, R2, R3] := [R1, R2, R3] × [S/N/, S/N+1/, S/N+2/] | Z, M, C |
| 42 | DFn | Divide Floating point numbers | Podziel liczby zmennorzecinkowe | [R1, R2, R3] := [R1, R2, R3] : [S/N/, S/N+1/, S/N+2/] | Z, M, C |
| 43 | NRF | NoRmalize Floating point number | Normalizuj | [R1, R2, R3] := znormalizowana liczba zmiennoprzecinkowa | |
| 44 | ORn | Or Register | Dodaj logicznie | R/A/ := R/A/ ∨ N | Z |
| 45 | OMn | Or Memory | Dodaj logicznie do pamięci | S/N;NB/ := S/N;NB/ ∨ R/A/ | Z |
| 46 | NRn | aNd in Register | Pomnóż logicznie | R/A/ := R/A/ ∧ N | Z |
| 47 | NMn | aNd in Memory | Pomnóż logicznie do pamięci | S/N;NB/ := S/N;NB/ ∧ R/A/ | Z |
| 48 | XRn | eXclusive or in Register | Różnica symetryczna | R/A/ := R/A/ |
Z |
| 49 | XMn | eXclusive or in Memory | Różnica symetryczna w pamięci | S/N;NB/ := S/N;NB/ |
Z |
| 50 | ERn | Erase bits in Register | Zeruj bity | R/A/ := R/A/ ∧ N | Z |
| 51 | EMn | Erase bits in Memory | Zeruj bity w pamięci | S/N;NB/ := S/N;NB/ ∧ R/A/ | Z |
| 52 | CLn | Compare Logically | Porównaj logicznie | R/A/ >=< N | L, E, G |
| 53 | NGL | NeGate Logically | Neguj logicznie | R/A/ := R/A/ | Z |
| 54 | SXU | Set X as Upper bit | Ustaw wskaźnik X według R/A/0 | X := R/A/0 | Z |
| 55 | SXL | Set X as Lower bit | Ustaw wskaźnik X według R/A/15 | X := R/A/15 | Z |
| 56 | SLZ | Shift Left add Zero | Przesuń w lewo | R/A/ « [R/A/,0] Y := R/A/0 |
Y |
| 57 | SLY | Shift Left add Y | Przesuń w lewo z Y | R/A/ « [R/A/,Y] Y := R/A/0 |
Y |
| 58 | SLX | Shift Left add X | Przesuń w lewo z X | R/A/ « [R/A/,X] Y := R/A/0 |
Y |
| 59 | SVZ | Shift left, check oVerflow, add Zero | Przesuń w lewo, ustaw V | R/A/ « [R/A/,0] Y := R/A/0 |
Y, V |
| 60 | SVY | Shift left, check oVerflow, add Y | Przesuń w lewo z Y, ustaw V | R/A/ « [R/A/,Y] Y := R/A/0 |
Y, V |
| 61 | SVX | Shift left, check oVerflow, add X | Przesuń w lewo z X, ustaw V | R/A/ « [R/A/,X] Y := R/A/0 |
Y, V |
| 62 | SRZ | Shift Right, add Zero | Przesuń w prawo | [0,R/A/] R/A/» Y := R/A/15 |
Y |
| 63 | SRY | Shift Right, add Y | Przesuń w prawo z Y | [Y,R/A/] R/A/» Y := R/A/15 |
Y |
| 64 | SRX | Shift Right, add X | Przesuń w prawo z X | [X,R/A/] R/A/» Y := R/A/15 |
Y |
| 65 | SHC | SHift Cyclic | Przesuń cyklicznie | R/A/»R/A/ T - liczba przesunięć | |
| 66 | LBn | Load Byte | Umieść bajt | R/A/8÷15 := S/N;NB/ | |
| 67 | RBn | Remember Byte | Pamiętaj bajt | S/N;NB/ := R/A/8÷15 | |
| 68 | ZLB | Zero to Left Byte | Zeruj bajt lewy | R/A/0÷7 := 0 | |
| 69 | ZRB | Zero to Right Byte | Zeruj bajt prawy | R/A/8÷15 := 0 | |
| 70 | CBn | Compare Byte | Porównaj bajt | R/A/8÷15 >=< S/N;NB/ | L, E, G |
| 71 | UJn | Unconditional Jump | Skocz | IC := N | |
| 72 | UJS | Unconditional Jump Short | Skocz względnie | IC := IC + T | |
| 73 | LJn | Link Jump | Skocz ze śladem | S/N/ := IC IC := N+1 | |
| 74 | RJn | Return Jump | Skocz ze śladem w rejestrze | R/A/ := IC IC := N | |
| 75 | JNn | Jump if Not equal | Skocz gdy E | Jeśli E=0 to IC := N | |
| 76 | JLn | Jump if Less | Skocz przy L | Jeśli L=1 to IC := N | |
| 77 | JLS | Jump if Less Short | Skocz względnie przy L | Jeśli L=1 to IC := IC+T | |
| 78 | JEn | Jump if Equal | Skocz przy E | Jeśli E=1 to IC := N | |
| 79 | JES | Jump if Equal Short | Skocz względnie przy E | Jeśli E=1 to IC := IC+T | |
| 80 | JGn | Jump if Greater | Skocz przy G | Jeśli G=1 to IC := N | |
| 81 | JGS | Jump if Greater Short | Skocz względnie przy G | Jeśli G=1 to IC := IC+T | |
| 82 | JZn | Jump if Zero | Skocz przy Z | Jeśli Z=1 to IC := N | |
| 83 | JMn | Jump if Minus | Skocz przy M | Jeśli M=1 to IC := N | |
| 84 | JVS | Jump if oVerflow Short | Skocz względnie przy V | Jeśli V=1 to IC := IC+T V := 0 |
V |
| 85 | JCS | Jump if Carry Short | Skocz względnie przy C | Jeśli C=1 to IC := IC+T | |
| 86 | JYS | Jump if Y Short | Skocz względnie przy Y | Jeśli Y=1 to IC := IC+T | |
| 87 | JXS | Jump if X Short | Skocz względnie przy X | Jeśli X=1 to IC := IC+T | |
| 88 | TRB | parameTer to Register abd Branch | Dodaj arg. krótki i przeskocz | R/A/ := R/A/ + T Jeśli R/A/=0 to P:=1 |
P |
| 89 | IRB | Increment Register and Branch | Dodaj 1, skocz względnie | R/A/ := R/A/ + 1 Jeśli R/A/=0 to IC := IC+T | |
| 90 | DRB | Decrease Register and Branch | Odejmij 1, skocz względnie | R/A/ := R/A/ - 1 Jeśli R/A/=0 to IC := IC+T | |
| 91 | BBn | Branch on Bits | Porównaj logicznie iloczyn | Jeśli R/A/∧N ≡ N to P := 1 | P |
| 92 | BMn | Branch on bits in Memory | Porównaj logicznie iloczyn w pamięci | Jeśli S/N;NB/∧R/A/≡R/A/ to P := 1 | P |
| 93 | BSn | Branch Selective | Porównaj logicznie przez maskę | Jeśli R/A/∧R7≡N∧R7 to P := 1 | P |
| 94 | BCn | Branch if not all Conditions | Porównaj logicznie iloczyn | Jeśli R/A/∧N≡N to P := 1 | P |
| 95 | BNn | Branch if No conditions | Przeskocz gdy iloczyn=0 | Jeśli R/A/∧N≡0 to P := 1 | P |
| 96 | BRC | Branch if not Right Conditions | Badaj prawy bajt R0 | Jeśli R08÷15∧b ≠ b to P := 1 | P |
| 97 | BLC | Branch if not Left Conditions | Badaj lewy bajt R0 | Jeśli R00÷7∧b ≠ b to P := 1 | P |
| 98 | IBn | Increment and Branch | Następnik pamięci | S/N/ := S/N/+1 jeśli S/N/=0 to P:=1 |
P |
| 99 | MDn | MoDify next instruction | Modyfikuj | MOD := N | |
| 100 | NOP | No OPeration | Nic nie rób | traktowany przez assembler jako UJS, 0 | |
| 101 | RKY | Read KeYboard | Czytaj klucze | R/A/ := klucze KB pulpitu technicznego | |
| 102 | RIC | Read Instruction Counter | Czytaj licznik rozkazów | R/A/ := IC |