Вычислить значение выражения: (4*с-d/2+23)/(a*a-1) - Assembler

Узнай цену своей работы

Формулировка задачи:

(4*с-d/2+23)/(a*a-1) помогите с задачи a, c, d, переменные показываем начале. программа enum 8086

Решение задачи: «Вычислить значение выражения: (4*с-d/2+23)/(a*a-1)»

textual
Листинг программы
.model small
 
.stack 100h
 
.data
        A       db      10
        C       db      17
        D       db      23
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        mov     al,     C       ;ax:=4*C
        mov     bl,     4
        mul     bl
 
        mov     bl,     D       ;bx:=d/2
        mov     bh,     0
        sar     bx,     1
 
        sub     ax,     bx      ;ax:=4*C-D/2-23
        sub     ax,     23
        mov     bx,     ax      ;bx:=4*C-D/2-23
 
        mov     al,     A       ;ax:=A*A-1
        mul     al
        sub     ax,     1
 
        mov     cx,     ax      ;cx:=A*A-1
        mov     ax,     bx      ;ax:=4*C-D/2-23
        mov     dx,     0       ;(dx:ax):=4*C-D/2-23
 
        div     cx              ;ax:=(4*C-D/2-23)/(A*A-1)
 
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main

Оцени полезность:

13   голосов , оценка 4 из 5