Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. LAB 5
  2. Wstęp teoretyczny
  3. Koprocesor posiada osiem 80-bitowych rejestrów zmiennoprzecinkowych oraz trzy 16-bitowe rejestry kontrolne.
  4. Kiedy odwołujemy się do rejestrów koprocesora st, st(1) i tak dalej, powinniśmy mieć na uwadze,
  5. że koprocesor traktuje swoje osiem rejestrów jako jeden stos.
  6. St(0) jest to szczyt stosu, natomiast st(7) to najniżej położony element.
  7. Używając rozkazu fld ładujemy zawartość innego podanego rejestru st do st(0). Przesuwana jest wtedy numeracja wszystkich rejestrów w górę.
  8. Podobnie jest z innymi rozkazami:
  9. - fld1 - ładuje stałą 1 do rejestru st(0)
  10. - fldl - ładuje liczbę z pamięci do st(0)
  11. - fst - wartość z rejestru st(0) jest umieszczana w innym rejestrze st
  12. - fstp - wartość z rejestru st(0) jest kopiowana do innego podanego rejestru
  13.  
  14. Słowo kontrolne koprocesora służy do kontroli sposobu wykonywania operacji matematycznych przez koprocesor.
  15. Niektóre bity to na przykład - maska precyzji, maska niedomiaru, nadmiaru, maska dzielenia przez zero itp. Rozkazy:
  16. fstcw - zapisanie zawartości rejestru kontrolnego do pamięci,
  17. fldcw - zapisanie zawartości w pamięci do rejestru kontrolnego.
  18. Wartość 1 maski oznacza podjęcie przez koprocesor próby korekcji błedu, 0 natomiast generuje sygnał przerwania.
  19.  
  20. Słowo statusu koprocesora składa się z dwóch pól : pola warunków oraz pola statusu.
  21. Pole warunków zawiera m.in. znacznik precyzji, który jest równy jeden, gdy trzeba zaokrąglać wynik,
  22. znacznik dzielenia przez zero, gdzie wartość jeden oznacza dzielenie przez zero przy dzielniku różnym od zera,
  23. oraz znacznik błędnej operacji, który jest równy jeden np. przy wyciąganiu pierwiastka z ujemnej liczby
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement