.model small
.data
a dw 5
c dw 10
d dw 2
f dw ?
.code
Start:
mov ax,@data
mov ds,ax
; ---------- числитель ----------
; AX = d * 42
mov ax,d
mov bx,42
imul bx ; DX:AX = d*42
mov bx,ax ; BX = d*42
; AX = 2*c
mov ax,c
add ax,ax ; AX = 2*c
; AX = 2*c - d*42
sub ax,bx ; AX = 2*c - d*42
; AX теперь числитель
; ---------- знаменатель ----------
mov cx,c
add cx,a
sub cx,1 ; CX = c+a-1
; CX теперь знаменатель
; ---------- деление ----------
cwd ; расширяем AX в DX:AX
idiv cx ; AX = (2*c - d*42)/(c+a-1)
mov f,ax ; сохраняем результат
mov ax,4C00h
int 21h
end Start