Задача первокурсника

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Franya
Сообщения: 1
Зарегистрирован: 21 ноя 2006, 20:36

21 ноя 2006, 20:38

Я Ассемблера не знаю (хотя представляю, что да как). Есть у меня сестричка-первокурсница, вот она меня и попросила помочь сделать на Ассемблере програму для вычисления значения выражения:
Х=(-(b*b*d*d)+(b*b*c*c))/(a*a*c*c)
При а=12,
b=-6,c=13,d=-7.

Ребят, я думаю, что это не тяжело (даже, скорее всего легко), но у нее не выходит. Мне так жаль, что я ей помочь не могу. Помогите, пожалуйста! Может, у кого что-то подобное есть. Дайте поглядеть, как делается.
Большое спасибо, буду ждать ответа!
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

22 ноя 2006, 08:55

Во первых, не указан тип переменных a, b, c, d - (byte, word, dword, qword, tbyte)
После упрощения Х = (b*b*(c*c - d*d)) / (a*a*c*c)
Полагаем тип - dword, вещественный формат.

Код: Выделить всё

fld c
fmul st[0]
fld d
fmul st[0]
fsub
fld b
fmul st[0]
fmul
fld a
fmul st[0]
fld c
fmul st[0]
fmul
fdiv
fstp X
Ответить