Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решить уравнение а асемблере

Genzzer Ученик (112), на голосовании 5 лет назад
Нужно решить уравнение в асемблере : C=2(A-3)+7/(D^2)
Есть только:
a:=strtoint(Edit1.Text);
b:=strtoint(Edit2.Text)
c:=strtoint(Edit4.Text)
asm

end;
Edit3.Text:=inttostr(c);
end;
end.
Голосование за лучший ответ
East RX Просветленный (24374) 5 лет назад
mov ecx, a
sub ecx, 3
mov ebx, b
imul ebx, ebx
mov eax, 7
cdq
idiv ebx
lea eax, [2 * ecx + eax]
mov c, eax
Максим КушнирМыслитель (6344) 5 лет назад
Или я дурак, или я чего-то не понимаю: там местами D, а местами B... WTF?
East RX Просветленный (24374) D нигде не объявлена, зато есть B, так что я решил что это опечатка.
Максим КушнирМыслитель (6344) 5 лет назад
Спасибо за пример. Положив, что В и Д это одно и то же работает замечательно. Проверял на бейсике зачем-то.

a=4 ; test
d=1 : b=d ; test ; B or D ?
c=0 ; test ; result = 9
EnableASM
mov ecx, a
sub ecx, 3
mov ebx, b
imul ebx, ebx
mov eax, 7
cdq
idiv ebx
lea eax, [2 * ecx + eax]
mov c, eax
DisableASM
Debug c
Похожие вопросы