Rejestry i wskaźniki: Różnice pomiędzy wersjami
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 podano opisu zmian |
||
(Nie pokazano 19 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
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]]. | |||
* '''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 | | 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''' - 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ń.