Rejestry i wskaźniki: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
(Created page with "== R0 == 16-bitowy rejestr stanu programu. Stanowi zbiór wskaźników decydujących o sposobie wykonywania programu. Rejestr ten może być używany w programach jako rejestr...")
 
 
(Nie pokazano 19 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
== R0 ==
+
Poniższa lista prezentuje wszystkie rejestry jednostki centralnej. Niektóre z nich dostępne są programowo bezpośrednio (rejestry R0-R7 oraz częściowo RZ), inne pośrednio (jak np. rejestr IC, którego zawartość można ustawić instrukcją skoku). Część z nich jest programowo niedostępna, ale można ich zawartość odczytać lub zapisać z [[Pulpit techniczny|pulpitu technicznego]].
16-bitowy rejestr stanu programu. Stanowi zbiór wskaźników decydujących o sposobie wykonywania programu. Rejestr ten może być używany w programach jako rejestr uniwersalny. Dla programów użytkowych zapis do pozycji 0÷7 nie jest wykonywany (z wyjątkiem rozkazu LPC)
 
 
 
Znaczenie poszczególnych bitów jest następujące:
 
  
 +
* '''R0''' - 16-bitowy rejestr stanu programu. Stanowi zbiór wskaźników decydujących o sposobie wykonywania programu. Rejestr ten może być używany w programach jako rejestr uniwersalny. Dla programów użytkowych zapis do pozycji 0÷7 nie jest wykonywany (z wyjątkiem rozkazu LPC). Znaczenie poszczególnych bitów jest następujące:
 
{| class="wikitable"
 
{| class="wikitable"
 
! Bit !! Symbol !! Żródłosłów !! Znaczenie
 
! Bit !! Symbol !! Żródłosłów !! Znaczenie
 
|-
 
|-
| 0 || Z || Zero || wskaźnik zera, ustawiany w przypadku otrzymania zera w wyniku działań arytmetycznych i logicznych
+
| 0 || '''Z''' || Zero || wskaźnik zera, ustawiany w przypadku otrzymania zera w wyniku działań arytmetycznych i logicznych
 
|-
 
|-
| 1 || M || Minus || wskaźnik znaku minus, ustawiany w przypadku otrzymania liczby ujemnej w wyniku działań arytmetycznych
+
| 1 || '''M''' || Minus || wskaźnik znaku minus, ustawiany w przypadku otrzymania liczby ujemnej w wyniku działań arytmetycznych
 
|-
 
|-
| 2 || V || oVerflow || wskaźnik nadmiaru, ustawiany w przypadku przekroczenia zakresu liczb przy operacjach arytmetycznych i w niektórych innych przypadkach
+
| 2 || '''V''' || oVerflow || wskaźnik nadmiaru, ustawiany w przypadku przekroczenia zakresu liczb przy operacjach arytmetycznych i w niektórych innych przypadkach
 
|-
 
|-
| 3 || C || Carry || wskaźnik przeniesienia, ustawiany zgodnie z przeniesieniem z zerowej pozycji arytmometru przy operacjach arytmetycznych
+
| 3 || '''C''' || Carry || wskaźnik przeniesienia, ustawiany zgodnie z przeniesieniem z zerowej pozycji arytmometru przy operacjach arytmetycznych
 
|-
 
|-
| 4 || L || Less || wskaźnik mniejszości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
+
| 4 || '''L''' || Less || wskaźnik mniejszości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
 
|-
 
|-
| 5 || E || Equal || wskaźnik równości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
+
| 5 || '''E''' || Equal || wskaźnik równości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
 
|-
 
|-
| 6 || G || Greater || wskaźnik większości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
+
| 6 || '''G''' || Greater || wskaźnik większości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
 
|-
 
|-
| 7 || Y || -- || wskaźnik przechowujący bit wychodzący poza rejestr przy operacjach przesuwania
+
| 7 || '''Y''' || -- || wskaźnik przechowujący bit wychodzący poza rejestr przy operacjach przesuwania
 
|-
 
|-
| 8 || X || -- || wskaźnik ystawiany programowo
+
| 8 || '''X''' || -- || wskaźnik ustawiany programowo
 
|-
 
|-
 
| 9÷15 || -- || -- || wskaźniki przeznaczone do użytku programisty
 
| 9÷15 || -- || -- || wskaźniki przeznaczone do użytku programisty
 
+
|-
 
+
|}
== R1-R7 ==
+
* '''R1-R7''' - 16-bitowe rejestry uniwersalne służące do przechowywania informacji, wykonywania operacji, oraz jako rejestry indeksowe służące B-modyfikacji argumentów.
 
+
* '''IC''' - 16-bitowy licznik rozkazów, zawierający adres miejsca pamięci operacyjnej, z którego pobrany zostanie rozkaz. Dostępny pośrednio z użyciem instrukcji skoków.
16-bitowe rejestry uniwersalne służące do przechowywania informacji, wykonywania operacji, oraz jako rejestry indeksowe służące B-modyfikacji argumentów
+
* '''SR''' - Rejestr stanu. Poszczególne jego pozycje oznaczają:
 +
{| class="wikitable"
 +
! Bit !! Symbol !! Znaczenie
 +
|-
 +
| 0÷9 || RM || rejestr masek przerwań
 +
|-
 +
| 10 || Q || wskaźnik systemu: Q=0 oznacza pracę systemu operacyjnego, Q=1 pracę programu użytkowego
 +
|-
 +
| 11 || BS || wskaźnik specjalny: BS=1 pozwala na dostęp do bloku pamięci drugiego procesora
 +
|-
 +
| 12÷15 || NB || rejestr numeru bloku pamięci operacyjnej
 +
|-
 +
|}
 +
* '''RZ''' -  32-bitowy rejestr zgłoszeń przerwań (patrz [[Przerwania]]).
 +
* '''AR''' - rejestr adresowy pamięci.
 +
* '''IR''' - rejestr rozkazów. W cyklu rozkazowym rejestr IR przechowuje słowo podstawowe aktualnie wykonywanego rozkazu. Rejestr IR związany jest z układem dekodowania rozkazów, który wysterowuje drogi przepływu informacji w czasie cyklu rozkazowego.
 +
* '''AC''' - rejestr akumulatora. Jest to 17-bitowy rejestr, w którym znajduje się drugi argument operacji arytmetycznych i logicznych. Nie jest dostępny programowo.
 +
* '''AT''' - 17-bitowy rejestr wynikowy sumatora. Posiada on możliwość przesuwania zawartości w prawo. Nie jest dostępny programowo.
 +
* '''RP''' - rejestr przyjęć przerwań
 +
* '''RB''' - 16-bitowy rejestr używany przy automatycznym, wstępnym ładowaniu programu (operacja klucza BIN).
 +
* '''P''' - wskaźnik przeskoku, ustawiany przez instrukcje rozgałęzień.

Aktualna wersja na dzień 16:58, 2 maj 2020

Poniższa lista prezentuje wszystkie rejestry jednostki centralnej. Niektóre z nich dostępne są programowo bezpośrednio (rejestry R0-R7 oraz częściowo RZ), inne pośrednio (jak np. rejestr IC, którego zawartość można ustawić instrukcją skoku). Część z nich jest programowo niedostępna, ale można ich zawartość odczytać lub zapisać z pulpitu technicznego.

  • R0 - 16-bitowy rejestr stanu programu. Stanowi zbiór wskaźników decydujących o sposobie wykonywania programu. Rejestr ten może być używany w programach jako rejestr uniwersalny. Dla programów użytkowych zapis do pozycji 0÷7 nie jest wykonywany (z wyjątkiem rozkazu LPC). Znaczenie poszczególnych bitów jest następujące:
Bit Symbol Żródłosłów Znaczenie
0 Z Zero wskaźnik zera, ustawiany w przypadku otrzymania zera w wyniku działań arytmetycznych i logicznych
1 M Minus wskaźnik znaku minus, ustawiany w przypadku otrzymania liczby ujemnej w wyniku działań arytmetycznych
2 V oVerflow wskaźnik nadmiaru, ustawiany w przypadku przekroczenia zakresu liczb przy operacjach arytmetycznych i w niektórych innych przypadkach
3 C Carry wskaźnik przeniesienia, ustawiany zgodnie z przeniesieniem z zerowej pozycji arytmometru przy operacjach arytmetycznych
4 L Less wskaźnik mniejszości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
5 E Equal wskaźnik równości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
6 G Greater wskaźnik większości, ustawiany w wyniku operacji porównań arytmetycznych i logicznych
7 Y -- wskaźnik przechowujący bit wychodzący poza rejestr przy operacjach przesuwania
8 X -- wskaźnik ustawiany programowo
9÷15 -- -- wskaźniki przeznaczone do użytku programisty
  • R1-R7 - 16-bitowe rejestry uniwersalne służące do przechowywania informacji, wykonywania operacji, oraz jako rejestry indeksowe służące B-modyfikacji argumentów.
  • IC - 16-bitowy licznik rozkazów, zawierający adres miejsca pamięci operacyjnej, z którego pobrany zostanie rozkaz. Dostępny pośrednio z użyciem instrukcji skoków.
  • SR - Rejestr stanu. Poszczególne jego pozycje oznaczają:
Bit Symbol Znaczenie
0÷9 RM rejestr masek przerwań
10 Q wskaźnik systemu: Q=0 oznacza pracę systemu operacyjnego, Q=1 pracę programu użytkowego
11 BS wskaźnik specjalny: BS=1 pozwala na dostęp do bloku pamięci drugiego procesora
12÷15 NB rejestr numeru bloku pamięci operacyjnej
  • RZ - 32-bitowy rejestr zgłoszeń przerwań (patrz Przerwania).
  • AR - rejestr adresowy pamięci.
  • IR - rejestr rozkazów. W cyklu rozkazowym rejestr IR przechowuje słowo podstawowe aktualnie wykonywanego rozkazu. Rejestr IR związany jest z układem dekodowania rozkazów, który wysterowuje drogi przepływu informacji w czasie cyklu rozkazowego.
  • AC - rejestr akumulatora. Jest to 17-bitowy rejestr, w którym znajduje się drugi argument operacji arytmetycznych i logicznych. Nie jest dostępny programowo.
  • AT - 17-bitowy rejestr wynikowy sumatora. Posiada on możliwość przesuwania zawartości w prawo. Nie jest dostępny programowo.
  • RP - rejestr przyjęć przerwań
  • RB - 16-bitowy rejestr używany przy automatycznym, wstępnym ładowaniu programu (operacja klucza BIN).
  • P - wskaźnik przeskoku, ustawiany przez instrukcje rozgałęzień.