Загрузка данных


.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