Написал половину кода уравнение дальше ступор( - Assembler
Формулировка задачи:
Здравствуйте. У меня есть уровненние и не выходит его записать его в ассемблере. Ятолько начал учить ассамблер не судите строго чайника.
Уровнение: x=d^3+(b^2-3cb)/(a^2+9)+350
Переменные: a=-4
c=5
b=10
d=-7
Вот что у меня получилось
IDEAL MODEL small STACK 256 DATASEG exCode DB 0 a DB -4 V DB 9 b DB 10 d DB -7 c DB 5 k DB 3 f DB 350 X DW ? CODESEG Start: mov ax,@data mov ds,ax ; mov ax, [k] mul [k] mul [c]; AX=k*c mul [b]; AX=k*c*b ; mov ax [b] mul [b] mul [b]; AX=b^2 ; sub ax [k],[c],[b]; AX=k*c*b-b^2 mul [a] mul [a] ; AX=a^2 add [V] ; AX=a^2+v
Решение задачи: «Написал половину кода уравнение дальше ступор(»
textual
Листинг программы
;x=d^3+(b^2-3cb)/(a^2+9)+350 org 100h mov esi, [d] imul esi, esi imul esi, [d] add esi, 350 ;esi = d^3+350 mov ecx, [a] imul ecx, ecx add ecx, 9 ;ecx = a^2+9 mov ebx, [c] mov eax, [b] imul ebx, eax lea ebx, [ebx*2+ebx]; ebx = 3cb imul eax, eax ; eax = b^2 sub eax, ebx ; eax = b^2 - 3cb cdq idiv ecx add eax, esi ; eax = d^3+(b^2-3cb)/(a^2+9)+350 mov [X], eax ret a DD -4 b DD 10 c DD 5 d DD -7 X DD ?