![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() ![]() |
![]() |
amega |
![]()
Сообщение
#1
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
Добрый день!
помогите с идеей а то сосвсем чет туплю, как мне реализовать 1/5+(1/5)^2? вместо 5 может быть любое число от 1 до 65535. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
fild i ; грузим целое число
fld1 ; грузим единицу
fdivr ; делим 1 на i
fld st(0) ; дублируем результат
fmul st(0) ; возводим 1/i в квадрат
fadd ; складываем 1/i и (1/i)^2
fst f ; сохраняем результат
? |
amega |
![]()
Сообщение
#3
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
м забыл про сопроцесор совсем, написал
.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 а в ф не то число совсе, я так понял это из за того что разный тип, но как эт исправить ? ![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата но как эт исправить ? В каком смысле "исправить"? Посмотреть на содержимое переменной F? Не проблема: запустил программу, дошел до строки FST f, выполнил ее, выбрал в меню Дебаггера View->Dump, в его контекстном меню - сначала Display As -> Float, потом GoTo -> название переменной, то есть F... Результат - на скриншоте:![]() ... Все нормально, значение правильное, что еще надо? |
amega |
![]()
Сообщение
#5
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
спасибо, разобрался!
|
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 17:47 |