IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> сложение и деление вещественных чисел
сообщение
Сообщение #1


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


Добрый день!
помогите с идеей а то сосвсем чет туплю, как мне реализовать 1/5+(1/5)^2?
вместо 5 может быть любое число от 1 до 65535.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






    fild i ; грузим целое число
fld1 ; грузим единицу
fdivr ; делим 1 на i
fld st(0) ; дублируем результат
fmul st(0) ; возводим 1/i в квадрат
fadd ; складываем 1/i и (1/i)^2
fst f ; сохраняем результат
?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


м забыл про сопроцесор совсем, написал

.8087
.model small
.stack 100h
.data
f dw ?
i dw 5
.code
start:
mov ax,@data
mov ds,ax

fild i ; грузим целое число
fld1 ; грузим единицу
fdivr ; делим 1 на i
fld st(0) ; дублируем результат
fld st(1) ; дублируем результат
fmul ; возводим 1/i в квадрат
fadd ; складываем 1/i и (1/i)^2
fst f ; сохраняем результат

mov ah,4Ch
int 21h
end start



выдает ошибку что ф не тго типа поменял на дд получилось в ст(0)=0.24 а в ф не то число совсе, я так понял это из за того что разный тип, но как эт исправить ?
Прикрепленное изображение





 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
но как эт исправить ?
В каком смысле "исправить"? Посмотреть на содержимое переменной F? Не проблема: запустил программу, дошел до строки FST f, выполнил ее, выбрал в меню Дебаггера View->Dump, в его контекстном меню - сначала Display As -> Float, потом GoTo -> название переменной, то есть F... Результат - на скриншоте:
Прикрепленное изображение
... Все нормально, значение правильное, что еще надо?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


спасибо, разобрался!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 5:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name