Страница 1 из 1

Записать математическое выражение на ассемблере

Добавлено: 13 май 2015, 23:06
Moreman32
Уже десяток раз перепробовал - никак не могу понять... Может кто помочь мне?
c-5b+7a
---------
a

Я записал


mov ax,a
mov dx,7
mul dx
mov cx,c
add dx,cx
mov bx,b
mov cx,5
mul cx
sub ax,cx
div ax
mov @result,ax

Может кто подскажет, как исправить..? Уже час ломаю голову, впервые пробую писать на этом языке

Re: Записать математическое выражение на ассемблере

Добавлено: 15 май 2015, 08:20
somewhere
Нельзя хранить результат суммы в AX или DX, т.к. они меняются при умножении и делении 16-разрядных и более, чисел.
Код написан с учетом того, что A,B,C - 2х байтовые беззнаковые целые
mov ax, 7
mul A
mov bx, ax
mov cx, dx
add bx, C
adc cx, 0
mov ax, 5
mul B
sub bx, ax
sbb cx, 0
mov dx, cx
mov ax, bx
div A
mov @result, ax