UNIX AT&T синтаксис (деление) |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
UNIX AT&T синтаксис (деление) |
LVI |
19.10.2009 22:11
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Vitaliy Репутация: 0 |
Hi all
Собственно возникла проблема с делением на ассемблере в UNIXе Необходимо вычислить заданную функцию Y = -36*X^3 - 98*X^2 / (15*X + 1). (все запускается и транслируется через терминал UNIXа командами as -o file.o file.s и gcc -o file.e file.o ) Числитель и знаменатель считаются правильно, но при делении получается баг! Я так понял возникает переполнение регистра %eax причем очистка оного не помогает! В результате получаем: Для X=2 Y = -36*2 ^3 - 98*2 ^2 / (15*2 +1) = -680 / 31 = 138547310 Для X=3 Y = -36*3 ^3 - 98*3 ^2 / (15*3 +1) = -1854 / 46 = 933688
-------------------- still alive life
|
volvo |
20.10.2009 1:34
Сообщение
#2
|
Гость |
А ничего, что ты совсем не то делаешь? Надо сначала поделить 98*X^2 на (15*X + 1), и потом отнять результат от -36*X^3... Но если тебе-таки надо (-36*X^3 - 98*X^2) / (15*X + 1), то попробуй вот это:
# xxxxx ~ COMPUTING ~ xxxxx |
LVI |
20.10.2009 10:25
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Vitaliy Репутация: 0 |
А ничего, что ты совсем не то делаешь? Надо сначала поделить 98*X^2 на (15*X + 1), и потом отнять результат от -36*X^3... Но если тебе-таки надо (-36*X^3 - 98*X^2) / (15*X + 1), то попробуй вот это: # xxxxx ~ COMPUTING ~ xxxxx Ой точно! ух уж мне эти ночные бдения... Спасибо volvo Сообщение отредактировано: LVI - 20.10.2009 10:27 -------------------- still alive life
|
Текстовая версия | 30.09.2024 7:01 |