Вычисление выражения по формуле - Assembler

  1. Как рассчитать такую формулу на ассемблере, тот что в визуал студии? Как рассчитать такую формулу на ассемблере, тот что в визуал студии? Левую и правую часть отдельно.


textual

Код к задаче: «Вычисление выражения по формуле - Assembler»

    int l,r,a=12,b=-93;
    _asm
    {
        mov eax,a
        sub eax,b
        imul eax
        imul eax
        mov l,eax
        //
        mov eax,a
        imul eax
        imul eax//a^4
        mov ecx,eax
        idiv dword ptr a//a^3
        imul dword ptr b
        mov ebx,-4
        imul ebx//-4*a^3*b
        add ecx,eax//a^4-4*a^3*b
        mov eax,a
        imul eax
        imul dword ptr b
        imul dword ptr b//a^2*b^2
        mov ebx,6
        imul ebx//6*a^2*b^2
        add ecx,eax//a^4-4*a^3*b+6*a^2*b^2
        mov eax,b
        imul eax
        imul dword ptr b//b^3
        imul dword ptr a
        mov ebx,-4
        imul ebx//-4*a*b^3
        add ecx,eax//a^4-4*a^3*b+6*a^2*b^2-4*a*b^3
        mov eax,b
        imul eax
        imul eax//b^4
        add eax,ecx
        mov r,eax
    }
    cout<<l<<"="<<r<<endl;

СДЕЛАЙТЕ РЕПОСТ

7   голосов, оценка 4.143 из 5



Похожие ответы
  1. Имеется пример ((2*c)-(d/3)) / (b-(a/4)) При клике на Btn1 значение выводится в Edit1 В качестве тестовых чисел я взял: a - 20 b - 10 c - 10 d - 30.Итоговый ответ должен получиться (20-(30/3))/(10-(20/4))=10/5=2 Использую ассемблерную вставку в Delphi

  1. Здравствуйте. Уравнение y = (12 + 3/8+6)*3+12. Ошибки: yyyy.asm(4) : invalid character in file yyyy.asm(5) : must be in segment block yyyy.asm(6) : syntax error : st yyyy.asm(7) : segment, group, or segment register expected Как вывести значение y на экран? И что в этом коде еще не хватает?

  1. Здравствуйте, я написал программу вычисления по формуле: Но дело в том, что программа всегда выводит 'Y=0' независимо от того, какие данные А и В я ввожу. Подскажите, пожалуйста, в какой строке кода обнуляется АХ. Вот, что я написал:

  1. Вычислить условный целочисленный выражение в форматах Integer и Word, используя команды сравнения. Результат проверить на область допустимых значений. Я думаю,что а и b запрашивать с консоли и проверять на то являетьсяли это числом.

  1. Приветствую! Написал программу, вроде правильно, но преподаватель говорит, что в последнем действии четырехбайтовая сумма превращается в трехбайтовую. Тут я не понял, т.к. сумма там двухбайтовая. Заранее Спасибо. Вот задание: Вычислить выражение r=a+2b-3с+d. Операнды – двухбайтные; адресация – базовая. Вот программа:

  1. Ввести два 16-битовых целых числа А и В. Вычислить значение выражения: А^3 - В^2. Программа 1. Передача параметров через регистр. Тип процедуры – дальний. Программа 2. Передача параметров через глобальные переменные. Тип процедуры – дальний. Программа 3. Передача параметров через стек. Тип процедуры – ближний. В общем, начал я с первой задачи, но, так как рука не набита, не могу разобраться, как грамотно исполнить программу. В командной строке при запуске мной созданной программы выгружается бесконечный цикл символов. Собственно сам листинг:

  1. Вычислить значение функции F(x)=x2+5x+7

  1. Написать программу для вычисления( (а+b)^2-2*a)/c