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 13 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
Skorowidz rozkazów przedstawia rozkazy uporządkowane względem rosnących kodów rozkazów, zachowując podział na grupy typów rozkazów.
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 oznaczono kolorem czerwonym.
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]])


Uwagi do czasu wykonania rozkazów:
== 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.
* 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:
* Modyfikacje rozkazu wydłużają czas jego wykonania:
** PRE-modifukacja: +0,3µs
** PRE-modyfikacja: +0,3µs
** B-modifukacja: +0,3µs
** B-modyfikacja: +0,3µs
** D-modifukacja: +1,05µ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:
* Czasy wykonania zależą od różnych czynników, co oznaczono w tabeli:
** ★ - czas zależny od argumentów
** * - czas zależny od argumentów
** P - czas zależny od przeskoku
** P - czas zależny od przeskoku
** R - czas zależny od reakcji jednostek sterujących urządzeniami zewnętrznymi
** R - czas zależny od reakcji jednostek sterujących urządzeniami zewnętrznymi
** V - czas różny, zależny od extrakodu
** V - czas różny, zależny od extrakodu


=== Rozkazy dwuargumentowe z argumentem normalnym ===
== Rozkazy dwuargumentowe z argumentem normalnym ==
 
{| class="wikitable"
{| class="wikitable"
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
! colspan="2" | Kod rozkazu !! colspan="4" | Pola rozkazu !! rowspan="2" | Mnemonik !! rowspan="2" | czas<br>[&micro;s]
Linia 53: Linia 53:
|}
|}


=== Rozkazy bez pierwszego argumentu z argumentem normalnym (grupa F/D) ===
== Rozkazy bez pierwszego argumentu z argumentem normalnym (grupa F/D) ==


{| class="wikitable"
{| class="wikitable"
Linia 64: Linia 64:
| 37 || 011 111 || D || 001 || BBB || CCC || align="center" | SD || 5,2
| 37 || 011 111 || D || 001 || BBB || CCC || align="center" | SD || 5,2
|-
|-
| 37 || 011 111 || D || 010 || BBB || CCC || align="center" | MW || 3,5&divide;11,9<sup>&#9733;</sup>
| 37 || 011 111 || D || 010 || BBB || CCC || align="center" | MW || 3,5&divide;11,9*
|-
|-
| 37 || 011 111 || D || 011 || BBB || CCC || align="center" | DW || 4,9&divide;15,3<sup>&#9733;</sup>
| 37 || 011 111 || D || 011 || BBB || CCC || align="center" | DW || 4,9&divide;15,3*
|-
|-
| 37 || 011 111 || D || 100 || BBB || CCC || align="center" | AF || 5,4&divide;19<sup>&#9733;</sup>
| 37 || 011 111 || D || 100 || BBB || CCC || align="center" | AF || 5,4&divide;19*
|-
|-
| 37 || 011 111 || D || 101 || BBB || CCC || align="center" | SF || 5,4&divide;19<sup>&#9733;</sup>
| 37 || 011 111 || D || 101 || BBB || CCC || align="center" | SF || 5,4&divide;19*
|-
|-
| 37 || 011 111 || D || 110 || BBB || CCC || align="center" | MF || 6,8&divide;29<sup>&#9733;</sup>
| 37 || 011 111 || D || 110 || BBB || CCC || align="center" | MF || 6,8&divide;29*
|-
|-
| 37 || 011 111 || D || 111 || BBB || CCC || align="center" | DF || 6,8&divide;30<sup>&#9733;</sup>
| 37 || 011 111 || D || 111 || BBB || CCC || align="center" | DF || 6,8&divide;30*
|-
|-
|}
|}


=== Rozkazy dwuargumentowe z argumentem normalnym c.d. ===
== Rozkazy dwuargumentowe z argumentem normalnym c.d. ==


{| class="wikitable"
{| class="wikitable"
Linia 119: Linia 119:
|}
|}


=== Rozkazy z krótkim argumentem (grupa KA1) ===
== Rozkazy z krótkim argumentem (grupa KA1) ==


{| class="wikitable"
{| class="wikitable"
Linia 144: Linia 144:
|}
|}


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


{| class="wikitable"
{| class="wikitable"
Linia 169: Linia 169:
|}
|}


=== Rozkazy z argumentem bajtowym (grupa KA2) ===
== Rozkazy z argumentem bajtowym (grupa KA2) ==


{| class="wikitable"
{| class="wikitable"
Linia 186: Linia 186:
|}
|}


=== Rozkazy bez drugiego argumentu (grupa C) ===
== Rozkazy bez drugiego argumentu (grupa C) ==


{| class="wikitable"
{| class="wikitable"
Linia 213: Linia 213:
| 72 || 111 010 || 0 || AAA || 001 || 001 || align="center" | RPC || 1,3
| 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<sup>&#9733;</sup>
| 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 || 000 || align="center" | RKY || 1,4
Linia 237: Linia 237:
|}
|}


=== Rozkazy bezargumentowe (grupa S) ===
== Rozkazy bezargumentowe (grupa S) ==


{| class="wikitable"
{| class="wikitable"
Linia 248: Linia 248:
| 73 || 111 011 || - || 001 || --- || --- || align="center" | <span style="color:red">MCL</span> || -
| 73 || 111 011 || - || 001 || --- || --- || align="center" | <span style="color:red">MCL</span> || -
|-
|-
| 73 || 111 011 || - || 010 || --- || -00 || align="center" | <span style="color:red">CIT</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 || --- || -01 || align="center" | <span style="color:red">SIL</span> || -
Linia 254: Linia 254:
| 73 || 111 011 || - || 010 || --- || -10 || align="center" | <span style="color:red">SIU</span> || -
| 73 || 111 011 || - || 010 || --- || -10 || align="center" | <span style="color:red">SIU</span> || -
|-
|-
| 73 || 111 011 || - || 010 || --- || -11 || align="center" | <span style="color:red">SIT</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 || 0 || 011 || --- || --- || align="center" | <span style="color:red">GIU</span> || -
Linia 264: Linia 264:
|}
|}


=== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy skoku (grupa J) ===
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"
{| class="wikitable"
Linia 289: Linia 303:
|}
|}


=== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy umieszczania grupowego (grupa L) ===
== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy umieszczania grupowego (grupa L) ==


{| class="wikitable"
{| class="wikitable"
Linia 314: Linia 328:
|}
|}


=== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy pamiętania grupowego (grupa G) ===
== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy pamiętania grupowego (grupa G) ==


{| class="wikitable"
{| class="wikitable"
Linia 339: Linia 353:
|}
|}


=== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy różne (grupa B/N) ===
== Rozkazy bez pierwszego argumentu z argumentem normalnym - rozkazy różne (grupa B/N) ==


{| class="wikitable"
{| class="wikitable"

Menu nawigacyjne