-2671
Код: Выделить всё
;Вычисление выражения:
int 3
xor AX,AX
mov AL, a ;помещаем в АL множитель a
cmp AX, 0
jne dalee_1
mov AH, 09h
lea DX, MsgErr
int 21h
jmp dalee
dalee_1:
mov AL, c ;помещаем в AL с
imul x ;умножаем на х
mov BX, AX ;переноси результат из АХ в ВХ
mov AX, d ;помещаем в АХ число 2807
xor cx,cx
mov cl,b
imul cx ;умножаем на b
sub BX, AX ;вычитаем
push BX ;заносим числитель в стек
mov AL, a ;помещаем в AL а
imul a ;возводим в квадрат
mov BX, AX ;переноси результат из АХ в ВХ
pop AX ;достаем из стека числитель
; xor DX, DX ;обнуляем DX
cwd ;расширяем числитель до двойного слова DX:AX
idiv BX ;делим числитель на знаменатель в АХ-целая часть, в DX-остаток
push BX ;убираем в стек знаменатель
push AX ;убираем в стек целую часть
xor cx,cx
mov cl,x
mov ax, e ;заносим в АХ е
imul cx ;умножаем на х
mov BX, AX ;перемещаем DX:AX в CX:BX
pop AX ;достаем из стека целую часть дроби
;cwd ;расширяем ес до двойного слова DX:AX
add AX, BX ;складываем с ранее найденным произведением