|
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
|
|
Использование сопроцессора.05.11.2008, 16:15. Показов 4080. Ответов 0
Метки нет (Все метки)
Здравствуйте. Походу изучения сопроцессора у меня возникла небольшая проблемма. Точнее вопрос.
Стоит задача определить косинус угла. Я делаю так (MASM) ... finit fld sinus cos fst sinus ... sinus dd ('0') В результате я в переменной sinus получаю значение равное (смотрю в отладчике) 00 00 3F 80. Хотя по идее cos(0) = 1 Далее я смотрю через Turbo Debugger, что же у меня находится в "стеке" сопроцессора. Когда я заношу туда 0, то он пишет что я занес что то типа 17.*****... после выполнения команды fcos, я получаю значение 1. Но почему то командой fst я вытаскиваю не 1... Хотя если я заменю fst на fist то вытащится 1. Возникла мысль, что в "стеке" сопроцессора хранится что то типа 1.000 поетому он и вытаскивает что то непонятное. Сразу возник вопрос как можно сохранить в переменной вещественное число. Пробовал командой perem dd ('1.32'), не компилируется, пишет что очень большая константа. Обобщая всё выше сказанное у меня 2 вопроса 1) Правильно ли я понял работу сопроцессора и соответственно написал программу, если нет то просьба обьяснить. 2) Как можно хранить, использовать вещественное число в переменной. Заранее спасибо. Д О Б А В Л Е Н О Думаю вопрос можно снять и закрыть тему. Не найдя ответа на вопрос здесь, я решил пока почитать литературу (как говорится RTFM). Для тех кому мой вопрос актуален, пишу ответ. Для начала я решил проверить свою теорию насчет того, что сопроцессор заносит в ячейку памяти число с плавающей точкой (аля 1.0000001...). Под отладчиком у меня в той ячейке было 00 00 80 3F (в своём вопросе я перепутал местами 80 и 3F). Данные хранятся в обратном порядке, поетому очевидно что само число = 00003F80. Покопавшись в горах литературы я перевел ето число из машинного представления в нормальное десятичное. Получилось примерно 0,97. То есть с погрешностью можно сказать что он мне как раз и записал косинус 1. Далее просто надо написать процедуру переводящую число из машинного представления в десятичную систему счисления и всё. P.S у меня написана переменная sinus, просто я сначала с синусом работал, но так как синус 0 = 0, то я решил сначала косинус взять, а поменять название переменной забыл.
1
|
|
| 05.11.2008, 16:15 | |
|
Ответы с готовыми решениями:
0
Как подключить модуль математического сопроцессора FPU emu8086 для выполнения арифметических операций Работа сопроцессора Константы сопроцессора |
| 05.11.2008, 16:15 | |
|
Помогаю со студенческими работами здесь
1
Команды сопроцессора. Стек сопроцессора Обновление сопроцессора Включение/отключение сопроцессора
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|