Arytmometr Wielokrotnej Precyzji: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
Linia 28: Linia 28:
Liczba zmiennoprzecinkowa zajmuje trzy słowa maszyny. Mantysa ''m'' zajmuje pierwszych czterdzieści bitów i traktowana jest jako liczba zaprzecinkowa w notacji uzupełnień do dwóch. Argumenty czterech podstawowych operacji arytmetycznych oraz wyniki wszystkich operacji są liczbami znormalizowanymi, tzn. &frac12;<=''m''<1 lub -1<''m''<=-&frac12;. Cecha zajmuje ostatnie osiem bitów liczby i traktowana jest jako liczba całkowita w notacji uzupełnień do dwóch. Wszystkie bity mantysy i cechy zerowej znormalizowanej liczby zmiennoprzecinkowej są zerami.
Liczba zmiennoprzecinkowa zajmuje trzy słowa maszyny. Mantysa ''m'' zajmuje pierwszych czterdzieści bitów i traktowana jest jako liczba zaprzecinkowa w notacji uzupełnień do dwóch. Argumenty czterech podstawowych operacji arytmetycznych oraz wyniki wszystkich operacji są liczbami znormalizowanymi, tzn. &frac12;<=''m''<1 lub -1<''m''<=-&frac12;. Cecha zajmuje ostatnie osiem bitów liczby i traktowana jest jako liczba całkowita w notacji uzupełnień do dwóch. Wszystkie bity mantysy i cechy zerowej znormalizowanej liczby zmiennoprzecinkowej są zerami.


Poza normalizacją rozkazy zmiennoprzecinkowe są dwuargumentowe. Argument pierwszy zajmuje rejestry uniwersalne jednostki centralnej R1, R2 i R3, argument drugi - trzy kolejne komórki pamięci. Rozkaz normalizacji ma jeden argument, umieszczony w rejestrach R1, R2 i R3. Wyniki wszystkich rozkazów zmiennoprzecinkowych wpisywane są do rejestrów R1, R2 i R3. Na podstawie wartości wyniku ustawiane są wskaźniki Z, M i C. Wskaźnik Z zapalany jest, gdy wynik równa się zeru. Rejestry R1, R2 i R3 są wówczas zerowane. Wskaźnik M kest zapalany, gdy wynik jest liczbą ujemną. Wskaźnik C przechowuje bit chroniony wyniku. Przy normalizacji jest on zawsze zerem. Wskaźnik V pozostaje bez zmiany.
Poza normalizacją rozkazy zmiennoprzecinkowe są dwuargumentowe. Argument pierwszy zajmuje rejestry uniwersalne jednostki centralnej R1, R2 i R3, argument drugi - trzy kolejne komórki pamięci. Rozkaz normalizacji ma jeden argument, umieszczony w rejestrach R1, R2 i R3. Wyniki wszystkich rozkazów zmiennoprzecinkowych wpisywane są do rejestrów R1, R2 i R3. Na podstawie wartości wyniku ustawiane są wskaźniki Z, M i C. Wskaźnik Z zapalany jest, gdy wynik równa się zeru. Rejestry R1, R2 i R3 są wówczas zerowane. Wskaźnik M jest zapalany, gdy wynik jest liczbą ujemną. Wskaźnik C przechowuje bit chroniony wyniku. Przy normalizacji jest on zawsze zerem. Wskaźnik V pozostaje bez zmiany.


Gdy któryś z argumentów jest liczbą nieznormalizowaną lub zachodzi próba dzielenia przez zero, to niezależnie od wartości drugiego argumentu zgłaszane jest [[Przerwania|przerwanie]] (wyjątek stanowi zero nieznormalizowane). Rejestry R1, R2 i R3 oraz wskaźniki Z, M, C pozostają wówczas bez zmiany. W przypadku otrzymania w wyniku podmiaru lub nadmiaru cechy zgłaszane są odpowiednie [[Przerwania|przerwania]], co nie blokujue zapisu wyniku do rejestrów R1, R2 i R3 oraz ustawienia wskaźników Z, M, C.
Gdy któryś z argumentów jest liczbą nieznormalizowaną lub zachodzi próba dzielenia przez zero, to niezależnie od wartości drugiego argumentu zgłaszane jest [[Przerwania|przerwanie]] (wyjątek stanowi zero nieznormalizowane). Rejestry R1, R2 i R3 oraz wskaźniki Z, M, C pozostają wówczas bez zmiany. W przypadku otrzymania w wyniku podmiaru lub nadmiaru cechy zgłaszane są odpowiednie [[Przerwania|przerwania]], co nie blokujue zapisu wyniku do rejestrów R1, R2 i R3 oraz ustawienia wskaźników Z, M, C.

Menu nawigacyjne