Forum

Wyświetlenie wartości z koprocesora.

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek Forum > Porady > Programowanie > Wyświetlenie wartości z koprocesora.

Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 4 z 4
 Gość Gość Kopiuj nick (83.22.172.*)
Wypowiedź dodana: 1 czerwca 2008, 21:03:42
« Opcje

Dręczą mnie takie oto dwa pytania. Jak po ściągnięciu liczby z koprocesora i zapisaniu jej w zmiennej typu dd wyswietlić ją na pulpicie. Drugie pytanie - Jak ściągniętą wartość z koprocesora zapisac do 16-bitowego rejestru dx, albo cx. Chodzi o to że w rejestrach tych są przechowywane współrzędne punktu do wyświetlenia pixela.

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 1 czerwca 2008, 21:03:43

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (0.0.0.*) |  
Wypowiedź dodana: 1 czerwca 2008, 21:21:08
« Opcje

Na pulpicie? Mówisz o Pulpicie Windows?
Generalnie sama liczba DD jest zgodna ze standardem liczb zmiennoprzecinkowych, dlatego aby wyświetlić czytelnie wartość, należy wydzielić cechę oraz mantysę, wyliczyć część całkowitą oraz ułamkową.

Zapisać liczbę możesz po prostu przekazując ją do danego rejestru (możliwe, że za pośrednictwem ax) - dla procesora to tylko zbiór bitów w takim przypadku. Nie bardzo wiem, co przeszkadza umieszczanie w rejestrach cx czy dx - czy problem polega na tym, że nie możesz nadpisać tych rejestrów? w rejestrach generalnie przechowywane są dane, które w zalezności od wykorzystania mogą mieć różne znaczenie. jeśli chwilowo potrzebujesz rejestru jakiegoś, którego wartośc jest istotna - odłóż tą wartośc do pamięci lub na stos.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 Gość Gość Kopiuj nick (83.22.172.*)
Wypowiedź dodana: 1 czerwca 2008, 23:09:45
« Opcje

No chodzi o zamianę tej liczby na liczbę dec i o wyświetlenie w konsoli. A z zapisem tej liczby w rejestrach to jest tak, że zawsze dokonuje konwersji na typ int w koprocesorze , aby można było wyświeltlić pixel o danych współrzędnych, ale podczas kompilacji wyskakuje bład o niezkodności typów. Nie jest możliwa do wykonania taka instrukcja:
zmienna x jest typu DD
mov dx,x

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (0.0.0.*) |  
Wypowiedź dodana: 1 czerwca 2008, 23:40:02
« Opcje

no to konwersja na dec,to jedno zagadnienie, a wydzielenie cechy i mantysy to drugie. generalnie musisz rozbić na te dwie części i odpowiednio skonwenterować.

trudno mi powiedzieć coś więcej o FPU, bo nie pracowałem na niej... generalnie to albo było polecenie, które zwraca część całkowitą gdzieś tam... no i pamięci do dx chyba nie można wprost przesłać - trzeba za pośrednictwem rejestru akumulacyjnego (ax). AX jest rejestrem specjalnego zastosowania właśnie do wymiany danych ;-)


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź
Wątek zamknięty[Pascal] Macierze i zamiana miejscami wierszy (kolumn)
Macierze w Turbo Pascalu - zamiana miejscami wartości maksymalnych i minimalnych
Porady / Programowanie9903 30.11.2008 10:59:11

Nowa wypowiedź

Nowa wypowiedź
Nie jesteś zalogowany; będziesz traktowany jako gość!
Zaloguj Zaloguj
Nick (gość): | Przepisz ten kod [?]: 506f0:
Tekst:

 

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie
 
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2017 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 22.09.2014 12:12
Wszystkie czasy dla strefy czasowej: Europe/Warsaw