Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Решить уравнение (http://forum.oszone.net/showthread.php?t=240054)

murmax-91 06-08-2012 10:59 1965408

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

Delirium 06-08-2012 14:53 1965528

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

murmax-91 07-08-2012 19:16 1966385

Наработки есть и решу я сам. Я лишь прошу объяснить мне, как разобраться с регистрами.
Сколько пытаюсь их понять ничего не получается(

Delirium 08-08-2012 01:11 1966573

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

murmax-91 08-08-2012 09:05 1966646

Я не мог написать длинные сообщения из-за глючного интернета.
В общем я сделал возведение в степень и как я понимаю вот эти строчки
Код:

mov bx, dx
mov cx, ax

Переложил результат в региср dx.
Дальше требуется решить то что находится в скобках. Допустим я решаю то что в знаменатели получаю ответ в АХ
И вот тут у меня возникает проблема как и в какие регистры складывать.
Я очень плохо представляю себе регистры возможно из-за это все проблемы....

murmax-91 09-08-2012 08:42 1967173

Решение застряло вот тут:
читать дальше »
Код:

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 1971504

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

murmax-91 17-08-2012 21:24 1972065

В том то и проблема что вмняемой литературы я не нашел.
А решение надо сделать не выходя за пределы регистрового пространства процессора + exa и т.д. не использовать. Пишется для 16 разрядного процессора.
Если посоветуете нормальную литературу буду благодарен.

lxa85 18-08-2012 10:53 1972244

Цитата:

Цитата murmax-91
Пишется для 16 разрядного процессора. »

Название процессора, фирма изготовитель?
Если это RISC процессор (что вполне вероятно), то у него однозначно больше 4х внутренних регистров общего назначения.

Разбирайся с последовательностью выполнения операций.
Обратная польская запись в помощь.


Время: 08:00.

Время: 08:00.
© OSzone.net 2001-