Вычислить выражение X=((d^3)/c)-(39*(c^2)*((a-b)^3))/((a^2)*b+2a) - Assembler
Формулировка задачи:
Как запрограммировать на assembler такое выражение
X=((d^3)/c)-(39*(c^2)*((a-b)^3))/((a^2)*b+2a)
a=4;b=2;c=5;d=10;
Решение задачи: «Вычислить выражение X=((d^3)/c)-(39*(c^2)*((a-b)^3))/((a^2)*b+2a)»
textual
Листинг программы
- %TITLE "Prog 7-4"
- ;X=d^3/c-(39*c^2*(a-b)^3)/(a^2*b+2*a)
- IDEAL
- MODEL small
- STACK 256
- DATASEG
- exCode DB 0
- a DB 4
- b DB 2
- c DB 5
- d DB 10
- x DW ?
- k1 DB 39
- k2 DB 2
- CODESEG
- Start: mov ax,@data
- mov ds,ax
- xor ax,ax
- xor cx,cx
- mov al,[c]
- mov bl ,[a]
- mul [c] ;c^2
- mul [k1];39*c^2
- mov cl,[a];cl=a
- sub cl,[b];cl=a-b
- mul cx ;;39*c^2*(a-b)
- mul cx ;39*c^2*(a-b)*(a-b)
- mul cx ;39*c^2*(a-b)*(a-b)*(a-b)
- push ax
- push dx
- xor ax,ax
- xor al,bl ;al=a
- mul [k2];ax=a*2
- mov bl,al;bl=a*2
- xor ax,ax
- xor al,[a];al=a
- mul al;ax=a^2
- mul [b];ax=a^2*b
- add bx,ax;bx=a^2*b+a*2
- pop dx
- pop ax ;ax=39*c^2*(a-b)*(a-b)*(a-b)
- div bx;ax=(39*c^2*(a-b)*(a-b)*(a-b))/(a^2*b+a*2)
- mov bx,ax
- xor ax,ax
- mov al,[d]
- mul [d]
- mul [d] ;d^3
- div [c] ; d^3/c
- sub ax,bx ;d^3/c-(39*c^2*(a-b)*(a-b)*(a-b))/(a^2*b+a*2)
- mov [x],ax
- Exit: mov ax,4C00h
- int 21h
- END Start
Объяснение кода листинга программы
Код выполняет следующие действия:
- Задает значения переменных a, b, c, d и инициализирует регистры ax и bx нулевыми значениями.
- Вычисляет значение c^2, умножая c на c.
- Вычисляет значение 39c^2(a-b)^3, последовательно умножая 39, c, (a-b), (a-b)^2, (a-b)^3.
- Вычисляет значение a^2b+2a, умножая a на a, затем на b, затем на 2.
- Вычисляет значение d^3, последовательно умножая d, d, d.
- Вычисляет значение d^3/c.
- Вычитает из d^3/c значение (39c^2(a-b)^3)/(a^2b+2a), которое было вычислено на третьем шаге.
- Сохраняет результат в переменную x.
- В конце программы выводит на экран число 4C00h, что соответствует надписи
Prog 7-4
. Переменные: - a - 4
- b - 2
- c - 5
- d - 10
- x - ? (результат вычисления)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д