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

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu edycji
Nie podano opisu zmian
Nie podano opisu zmian
 
(Nie pokazano 18 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ń.

Menu nawigacyjne