Войти

Показать полную графическую версию : Решить уравнение


murmax-91
06-08-2012, 10:59
В общем дано уравнение y=a*x^3-((3871*x)+c)/(19*c*a)+b
При попытке его решить я запутался в регистрах. Подскажите плиз как его лучше решить. На какие этапы разбить решение...

Delirium
06-08-2012, 14:53
А в чем проблема то? Порядок математических действий что ли непонятен?
1. Скобки
2. Деление/умножение
3. Сложение/вычитание
Где примеры решения, наработки? Самим решать с нуля?

murmax-91
07-08-2012, 19:16
Наработки есть и решу я сам. Я лишь прошу объяснить мне, как разобраться с регистрами.
Сколько пытаюсь их понять ничего не получается(

Delirium
08-08-2012, 01:11
murmax-91, второй раз спрашиваю - ЧТО не получается? Ты просишь "объяснить, как разобраться с регистрами". Что ты имеешь в виду? Ты не понимаешь, что такое регистры, ты запутался, в какой регистр что ложить, ты не знаешь регистры? ЧТО именно? Не надо заставлять нас вытягивать информацию клещами.

murmax-91
08-08-2012, 09:05
Я не мог написать длинные сообщения из-за глючного интернета.
В общем я сделал возведение в степень и как я понимаю вот эти строчки
mov bx, dx
mov cx, ax
Переложил результат в региср dx.
Дальше требуется решить то что находится в скобках. Допустим я решаю то что в знаменатели получаю ответ в АХ
И вот тут у меня возникает проблема как и в какие регистры складывать.
Я очень плохо представляю себе регистры возможно из-за это все проблемы....

murmax-91
09-08-2012, 08:42
Решение застряло вот тут:

mov ax, x
imul x
imul x
mov bx, a
imul bx
mov bx, dx
mov cx, ax

mov ax, c
imul d
mov bx, 19
imul bx
mov si, ax

mov ax, 3871
imul x

add ax, c
idiv si

lxa85
16-08-2012, 22:36
murmax-91, во первых пиши комментарии к коду,
во вторых - что тебе мешает использовать дополнительные переменные?
В третьих - оптимизацией вычисления выражения заниматься не пробовал?
Или надо все именно через указанную линейную форму, со множеством вложенных операций + не выходя за пределы регистрового пространства процессора?
Процессор - это мат.часть. Соотв. кроме ax, bx, cx, dx есть замечательное расширение eax, ebx и т.д. + дополнительные регистры расширения MMX как минимум. Т.ч. лично я с чистой совестью отправляю читать спецификацию используемой аппаратной-вычислительной части.

murmax-91
17-08-2012, 21:24
В том то и проблема что вмняемой литературы я не нашел.
А решение надо сделать не выходя за пределы регистрового пространства процессора + exa и т.д. не использовать. Пишется для 16 разрядного процессора.
Если посоветуете нормальную литературу буду благодарен.

lxa85
18-08-2012, 10:53
Пишется для 16 разрядного процессора. »
Название процессора, фирма изготовитель?
Если это RISC процессор (что вполне вероятно), то у него однозначно больше 4х внутренних регистров общего назначения.

Разбирайся с последовательностью выполнения операций.
Обратная польская запись (http://ru.wikipedia.org/wiki/Обратная_польская_запись) в помощь.




© OSzone.net 2001-2012