Skorowidz kodów rozkazów: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu edycji
Nie podano opisu zmian
Nie podano opisu zmian
 
(Nie pokazano 26 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
=== Rozkazy dwuargumentowe z argumentem normalnym ===
Skorowidz rozkazów przedstawia rozkazy uporządkowane względem rosnących kodów rozkazów, zachowując podział na grupy typów rozkazów.
Rozkazy nielegalne (dozwolone tylko przy pracy systemu operacyjnego) oznaczono kolorem czerwonym. Rozkazy o kodach oktalnych mniejszych od 20 są niedozwolone i traktowane jako rozkazy nieefektywne (patrz: [[Wykonanie rozkazu]])
 
== Objaśnienia ==
* Czasy wykonania obowiązują dla minikomputera zbudowanego z wykorzystaniem elementów scalonych typu H, wyposażonego w pamięć operacyjną rdzeniową z czasem cyklu 1,1µs.
* Modyfikacje rozkazu wydłużają czas jego wykonania:
** PRE-modyfikacja: +0,3µs
** B-modyfikacja: +0,3µs
** D-modyfikacja: +1,05µs
** argument w drugim słowie rozkazu: +0,85µs
* Czasy wykonania zależą od różnych czynników, co oznaczono w tabeli:
** * - czas zależny od argumentów
** P - czas zależny od przeskoku
** R - czas zależny od reakcji jednostek sterujących urządzeniami zewnętrznymi
** V - czas różny, zależny od extrakodu
 
== Rozkazy dwuargumentowe z argumentem normalnym ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 20 || 010 000 || D || AAA || BBB || CCC || align="center" | LW || 1,65
|-
| 21 || 010 001 || D || AAA || BBB || CCC || align="center" | TW || 1,65
|-
| 22 || 010 010 || D || AAA || BBB || CCC || align="center" | LS || 2,6
|-
| 23 || 010 011 || D || AAA || BBB || CCC || align="center" | RI || 2,6
|-
| 24 || 010 100 || D || AAA || BBB || CCC || align="center" | RW || 2,2
|-
| 25 || 010 101 || D || AAA || BBB || CCC || align="center" | PW || 2,2
|-
| 26 || 010 110 || D || AAA || BBB || CCC || align="center" | RJ || 1,7
|-
| 27 || 010 111 || D || AAA || BBB || CCC || align="center" | IS || 2,8&divide;4,2<sup>P</sup>
|-
| 30 || 011 000 || D || AAA || BBB || CCC || align="center" | BB || 1,8&divide;3,2<sup>P</sup>
|-
| 31 || 011 001 || D || AAA || BBB || CCC || align="center" | BM || 2,8&divide;4,2<sup>P</sup>
|-
| 32 || 011 010 || D || AAA || BBB || CCC || align="center" | BS || 1,8&divide;3,2<sup>P</sup>
|-
| 33 || 011 011 || D || AAA || BBB || CCC || align="center" | BC || 1,8&divide;3,2<sup>P</sup>
|-
| 34 || 011 100 || D || AAA || BBB || CCC || align="center" | BN || 1,8&divide;3,2<sup>P</sup>
|-
| 35 || 011 101 || D || AAA || BBB || CCC || align="center" | OU || 2&divide;5<sup>R</sup>
|-
| 36 || 011 110 || D || AAA || BBB || CCC || align="center" | IN || 2&divide;5<sup>R</sup>
|-
|}
 
== Rozkazy bez pierwszego argumentu z argumentem normalnym (grupa F/D) ==


{| class="wikitable"
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="3" | Pola rozkazu
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
|-
! oct !! bin !! D !! A !! B !! C !! Mnemonik !! czas
! oct !! bin !! D !! A !! B !! C
|-
|-
| 20 || 010 000 || D || AAA || BBB || CCC || align="center" | LW ||
| 37 || 011 111 || D || 000 || BBB || CCC || align="center" | AD || 5,2
|-
|-
| 21 || 010 001 || D || AAA || BBB || CCC || align="center" | TW ||
| 37 || 011 111 || D || 001 || BBB || CCC || align="center" | SD || 5,2
|-
|-
| 22 || 010 010 || D || AAA || BBB || CCC || align="center" | LS ||
| 37 || 011 111 || D || 010 || BBB || CCC || align="center" | MW || 3,5&divide;11,9*
|-
|-
| 23 || 010 011 || D || AAA || BBB || CCC || align="center" | RI ||
| 37 || 011 111 || D || 011 || BBB || CCC || align="center" | DW || 4,9&divide;15,3*
|-
|-
| 24 || 010 100 || D || AAA || BBB || CCC || align="center" | RW ||
| 37 || 011 111 || D || 100 || BBB || CCC || align="center" | AF || 5,4&divide;19*
|-
|-
| 25 || 010 101 || D || AAA || BBB || CCC || align="center" | PW ||
| 37 || 011 111 || D || 101 || BBB || CCC || align="center" | SF || 5,4&divide;19*
|-
|-
| 26 || 010 110 || D || AAA || BBB || CCC || align="center" | RJ ||
| 37 || 011 111 || D || 110 || BBB || CCC || align="center" | MF || 6,8&divide;29*
|-
|-
| 27 || 010 111 || D || AAA || BBB || CCC || align="center" | IS ||
| 37 || 011 111 || D || 111 || BBB || CCC || align="center" | DF || 6,8&divide;30*
|-
|}
 
== Rozkazy dwuargumentowe z argumentem normalnym c.d. ==
 
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
|-
| 30 || 011 000 || D || AAA || BBB || CCC || align="center" | BB ||
! oct !! bin !! D !! A !! B !! C
|-
|-
| 31 || 011 001 || D || AAA || BBB || CCC || align="center" | BM ||
| 40 || 100 000 || D || AAA || BBB || CCC || align="center" | AW || 1,75
|-
|-
| 32 || 011 010 || D || AAA || BBB || CCC || align="center" | BS ||
| 41 || 100 001 || D || AAA || BBB || CCC || align="center" | AC || 1,75
|-
|-
| 33 || 011 011 || D || AAA || BBB || CCC || align="center" | BC ||
| 42 || 100 010 || D || AAA || BBB || CCC || align="center" | SW || 1,75
|-
|-
| 34 || 011 100 || D || AAA || BBB || CCC || align="center" | BN ||
| 43 || 100 011 || D || AAA || BBB || CCC || align="center" | CW || 1,75
|-
|-
| 35 || 011 101 || D || AAA || BBB || CCC || align="center" | OU ||
| 44 || 100 100 || D || AAA || BBB || CCC || align="center" | OR || 1,7
|-
|-
| 36 || 011 110 || D || AAA || BBB || CCC || align="center" | IN ||
| 45 || 100 101 || D || AAA || BBB || CCC || align="center" | OM || 3,4
|-
| 46 || 100 110 || D || AAA || BBB || CCC || align="center" | NR || 1,7
|-
| 47 || 100 111 || D || AAA || BBB || CCC || align="center" | NM || 3,4
|-
| 50 || 101 000 || D || AAA || BBB || CCC || align="center" | ER || 1,7
|-
| 51 || 101 001 || D || AAA || BBB || CCC || align="center" | EM || 3,5
|-
| 52 || 101 010 || D || AAA || BBB || CCC || align="center" | XR || 1,8
|-
| 53 || 101 011 || D || AAA || BBB || CCC || align="center" | XM || 3,5
|-
| 54 || 101 100 || D || AAA || BBB || CCC || align="center" | CL || 1,8
|-
| 55 || 101 101 || D || AAA || BBB || CCC || align="center" | LB || 3,8
|-
| 56 || 101 110 || D || AAA || BBB || CCC || align="center" | RB || 4,4
|-
| 57 || 101 111 || D || AAA || BBB || CCC || align="center" | CB || 3,85
|-
|-
|}
|}


Rozkazy bez pierwszego argumentu z argumentem normalnym (grupa F/D)
== Rozkazy z krótkim argumentem (grupa KA1) ==


{| class="wikitable"
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="3" | Pola rozkazu
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
|-
! oct !! bin !! D !! A !! B !! C !! Mnemonik !! czas
! oct !! bin !! D !! A !! B !! C
|-
|-
| 37 || 011 111 || D || 000 || BBB || CCC || align="center" | AD ||
| 60 || 110 000 || T || AAA || TTT || TTT || align="center" | AWT || 1,75
|-
|-
| 37 || 011 111 || D || 001 || BBB || CCC || align="center" | SD ||
| 61 || 110 001 || T || AAA || TTT || TTT || align="center" | TRB || 1,75&divide;3,15<sup>P</sup>
|-
|-
| 37 || 011 111 || D || 010 || BBB || CCC || align="center" | MW ||
| 62 || 110 010 || T || AAA || TTT || TTT || align="center" | IRB || 2,2
|-
|-
| 37 || 011 111 || D || 011 || BBB || CCC || align="center" | DW ||
| 63 || 110 011 || T || AAA || TTT || TTT || align="center" | DRB || 2,2
|-
|-
| 37 || 011 111 || D || 100 || BBB || CCC || align="center" | AF ||
| 64 || 110 100 || T || AAA || TTT || TTT || align="center" | CWT || 1,8
|-
|-
| 37 || 011 111 || D || 101 || BBB || CCC || align="center" | SF ||
| 65 || 110 101 || T || AAA || TTT || TTT || align="center" | LWT || 1,7
|-
|-
| 37 || 011 111 || D || 110 || BBB || CCC || align="center" | MF ||
| 66 || 110 110 || T || AAA || TTT || TTT || align="center" | LWS || 2,85
|-
|-
| 37 || 011 111 || D || 111 || BBB || CCC || align="center" | DF ||
| 67 || 110 111 || T || AAA || TTT || TTT || align="center" | RWS || 2,5
|-
|-
|}


== Rozkazy z krótkim argumentem - rozkazy skoków (grupa JS) ==


{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 70 || 111 000 || T || 000 || TTT || TTT || align="center" | UJS || 2,0
|-
| 70 || 111 000 || T || 001 || TTT || TTT || align="center" | JLS || 2,0
|-
| 70 || 111 000 || T || 010 || TTT || TTT || align="center" | JES || 2,0
|-
| 70 || 111 000 || T || 011 || TTT || TTT || align="center" | JGS || 2,0
|-
| 70 || 111 000 || T || 100 || TTT || TTT || align="center" | JVS || 2,0
|-
| 70 || 111 000 || T || 101 || TTT || TTT || align="center" | JXS || 2,0
|-
| 70 || 111 000 || T || 110 || TTT || TTT || align="center" | JYS || 2,0
|-
| 70 || 111 000 || T || 111 || TTT || TTT || align="center" | JCS || 2,0
|-
|}
== Rozkazy z argumentem bajtowym (grupa KA2) ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 71 || 111 001 || 0 || 0TT || TTT || TTT || align="center" | BLC || 1,7&divide;3,1<sup>P</sup>
|-
| 71 || 111 001 || 0 || 1TT || TTT || TTT || align="center" | EXL || V
|-
| 71 || 111 001 || 1 || 0TT || TTT || TTT || align="center" | BRC || 1,7&divide;3,1<sup>P</sup>
|-
| 71 || 111 001 || 1 || 1TT || TTT || TTT || align="center" | NRF || 3,8&divide;15,8
|-
|}
== Rozkazy bez drugiego argumentu (grupa C) ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 72 || 111 010 || 0 || AAA || 000 || 000 || align="center" | RIC || 1,4
|-
| 72 || 111 010 || 0 || AAA || 000 || 001 || align="center" | ZLB || 1,4
|-
| 72 || 111 010 || 0 || AAA || 000 || 010 || align="center" | SXU || 1,35
|-
| 72 || 111 010 || 0 || AAA || 000 || 011 || align="center" | NGA || 1,65
|-
| 72 || 111 010 || 0 || AAA || 000 || 100 || align="center" | SLZ || 2,0
|-
| 72 || 111 010 || 0 || AAA || 000 || 101 || align="center" | SLY || 2,0
|-
| 72 || 111 010 || 0 || AAA || 000 || 110 || align="center" | SLX || 2,0
|-
| 72 || 111 010 || 0 || AAA || 000 || 111 || align="center" | SRY || 2,0
|-
| 72 || 111 010 || 0 || AAA || 001 || 000 || align="center" | NGL || 1,35
|-
| 72 || 111 010 || 0 || AAA || 001 || 001 || align="center" | RPC || 1,3
|-
| 72 || 111 010 || T || AAA || 010 || TTT || align="center" | SHC || 1,9&divide;3,5*
|-
| 72 || 111 010 || 1 || AAA || 000 || 000 || align="center" | RKY || 1,4
|-
| 72 || 111 010 || 1 || AAA || 000 || 001 || align="center" | ZRB || 1,4
|-
| 72 || 111 010 || 1 || AAA || 000 || 010 || align="center" | SXL || 1,35
|-
| 72 || 111 010 || 1 || AAA || 000 || 011 || align="center" | NGC || 1,65
|-
| 72 || 111 010 || 1 || AAA || 000 || 100 || align="center" | SVZ || 2,0
|-
| 72 || 111 010 || 1 || AAA || 000 || 101 || align="center" | SVY || 2,0
|-
| 72 || 111 010 || 1 || AAA || 000 || 110 || align="center" | SVX || 2,0
|-
| 72 || 111 010 || 1 || AAA || 000 || 111 || align="center" | SRX || 2,0
|-
| 72 || 111 010 || 1 || AAA || 001 || 000 || align="center" | SRZ || 2,0
|-
| 72 || 111 010 || 1 || AAA || 001 || 001 || align="center" | LPC || 1,3
|-
|}
== Rozkazy bezargumentowe (grupa S) ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 73 || 111 011 || - || 000 || --- || --- || align="center" | <span style="color:red">HLT</span> || -
|-
| 73 || 111 011 || - || 001 || --- || --- || align="center" | <span style="color:red">MCL</span> || -
|-
| 73 || 111 011 || - || 010 || --- || -11 || align="center" | <span style="color:red">SIT</span> || -
|-
| 73 || 111 011 || - || 010 || --- || -01 || align="center" | <span style="color:red">SIL</span> || -
|-
| 73 || 111 011 || - || 010 || --- || -10 || align="center" | <span style="color:red">SIU</span> || -
|-
| 73 || 111 011 || - || 010 || --- || -00 || align="center" | <span style="color:red">CIT</span> || -
|-
| 73 || 111 011 || 0 || 011 || --- || --- || align="center" | <span style="color:red">GIU</span> || -
|-
| 73 || 111 011 || - || 100 || --- || --- || align="center" | <span style="color:red">LIP</span> || -
|-
| 73 || 111 011 || 1 || 011 || --- || --- || align="center" | <span style="color:red">GIL</span> || -
|-
|}
Rozkazy bezargumentowe grupy S [[Modyfikacje sprzętowe procesora|dodane w procesorze MX-16]]:
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 73 || 111 011 || - || 101 || --- || --- || align="center" | <span style="color:red">CRON</span> || -
|-
| 73 || 111 011 || 0 || 010 || --- || 1-- || align="center" | <span style="color:red">SINT</span> || -
|-
| 73 || 111 011 || 1 || 010 || --- || 1-- || align="center" | <span style="color:red">SIND</span> || -
|}
== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy skoku (grupa J) ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 74 || 111 100 || D || 000 || BBB || CCC || align="center" | UJ || 1,65
|-
| 74 || 111 100 || D || 001 || BBB || CCC || align="center" | JL || 1,65
|-
| 74 || 111 100 || D || 010 || BBB || CCC || align="center" | JE || 1,65
|-
| 74 || 111 100 || D || 011 || BBB || CCC || align="center" | JG || 1,65
|-
| 74 || 111 100 || D || 100 || BBB || CCC || align="center" | JZ || 1,65
|-
| 74 || 111 100 || D || 101 || BBB || CCC || align="center" | JM || 1,65
|-
| 74 || 111 100 || D || 110 || BBB || CCC || align="center" | JN || 1,65
|-
| 74 || 111 100 || D || 111 || BBB || CCC || align="center" | LJ || 2,5
|-
|}
== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy umieszczania grupowego (grupa L) ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 75 || 111 101 || D || 000 || BBB || CCC || align="center" | LD || 3,85
|-
| 75 || 111 101 || D || 001 || BBB || CCC || align="center" | LF || 4,9
|-
| 75 || 111 101 || D || 010 || BBB || CCC || align="center" | LA || 9,0
|-
| 75 || 111 101 || D || 011 || BBB || CCC || align="center" | LL || 4,9
|-
| 75 || 111 101 || D || 100 || BBB || CCC || align="center" | TD || 3,85
|-
| 75 || 111 101 || D || 101 || BBB || CCC || align="center" | TF || 4,9
|-
| 75 || 111 101 || D || 110 || BBB || CCC || align="center" | TA || 9
|-
| 75 || 111 101 || D || 111 || BBB || CCC || align="center" | TL || 4,9
|-
|}
== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy pamiętania grupowego (grupa G) ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 76 || 111 110 || D || 000 || BBB || CCC || align="center" | RD || 3,5
|-
| 76 || 111 110 || D || 001 || BBB || CCC || align="center" | RF || 4,5
|-
| 76 || 111 110 || D || 010 || BBB || CCC || align="center" | RA || 8,3
|-
| 76 || 111 110 || D || 011 || BBB || CCC || align="center" | RL || 4,5
|-
| 76 || 111 110 || D || 100 || BBB || CCC || align="center" | PD || 3,5
|-
| 76 || 111 110 || D || 101 || BBB || CCC || align="center" | PF || 4,5
|-
| 76 || 111 110 || D || 110 || BBB || CCC || align="center" | PA || 8,3
|-
| 76 || 111 110 || D || 111 || BBB || CCC || align="center" | PL || 4,5
|-
|}
== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy różne (grupa B/N) ==
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
|-
! oct !! bin !! D !! A !! B !! C
|-
| 77 || 111 111 || D || 000 || BBB || CCC || align="center" | <span style="color:red">MB</span> || 2,4
|-
| 77 || 111 111 || D || 001 || BBB || CCC || align="center" | <span style="color:red">IM</span> || 2,4
|-
| 77 || 111 111 || D || 010 || BBB || CCC || align="center" | <span style="color:red">KI</span> || 2,2
|-
| 77 || 111 111 || D || 011 || BBB || CCC || align="center" | <span style="color:red">FI</span> || 2,4
|-
| 77 || 111 111 || D || 100 || BBB || CCC || align="center" | <span style="color:red">SP</span> || 2,4
|-
| 77 || 111 111 || D || 101 || BBB || CCC || align="center" | MD || -
|-
| 77 || 111 111 || D || 110 || BBB || CCC || align="center" | RZ || 2,2
|-
| 77 || 111 111 || D || 111 || BBB || CCC || align="center" | IB || 3,6&divide;5<sup>P</sup>
|-
|}
|}

Menu nawigacyjne