Вычислить выражение 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
Листинг программы
  1. %TITLE "Prog 7-4"
  2. ;X=d^3/c-(39*c^2*(a-b)^3)/(a^2*b+2*a)
  3.     IDEAL
  4.     MODEL   small
  5.     STACK   256
  6.     DATASEG
  7.  
  8. exCode  DB  0
  9. a   DB  4
  10. b   DB  2
  11. c   DB  5
  12. d   DB  10
  13. x   DW  ?
  14.     k1 DB 39
  15.     k2 DB 2
  16.     CODESEG
  17. Start:  mov ax,@data
  18.     mov ds,ax
  19.     xor ax,ax
  20. xor cx,cx
  21.     mov al,[c]
  22.     mov bl ,[a]
  23.     mul [c] ;c^2
  24.     mul [k1];39*c^2
  25.     mov cl,[a];cl=a
  26.     sub cl,[b];cl=a-b
  27.     mul cx ;;39*c^2*(a-b)
  28.     mul cx ;39*c^2*(a-b)*(a-b)
  29.     mul cx ;39*c^2*(a-b)*(a-b)*(a-b)
  30.     push ax
  31.     push dx
  32.     xor ax,ax
  33.     xor al,bl ;al=a
  34.     mul [k2];ax=a*2
  35.     mov bl,al;bl=a*2
  36.     xor ax,ax
  37.     xor al,[a];al=a
  38.     mul al;ax=a^2
  39.     mul [b];ax=a^2*b
  40.     add bx,ax;bx=a^2*b+a*2
  41.     pop dx
  42.     pop ax ;ax=39*c^2*(a-b)*(a-b)*(a-b)
  43.     div bx;ax=(39*c^2*(a-b)*(a-b)*(a-b))/(a^2*b+a*2)
  44.     mov bx,ax
  45.     xor ax,ax
  46.     mov al,[d]
  47.     mul [d]
  48.     mul [d]  ;d^3
  49.     div [c]   ; d^3/c
  50.     sub ax,bx ;d^3/c-(39*c^2*(a-b)*(a-b)*(a-b))/(a^2*b+a*2)
  51. mov [x],ax    
  52. Exit:   mov ax,4C00h
  53.     int 21h
  54.     END Start

Объяснение кода листинга программы

Код выполняет следующие действия:

  1. Задает значения переменных a, b, c, d и инициализирует регистры ax и bx нулевыми значениями.
  2. Вычисляет значение c^2, умножая c на c.
  3. Вычисляет значение 39c^2(a-b)^3, последовательно умножая 39, c, (a-b), (a-b)^2, (a-b)^3.
  4. Вычисляет значение a^2b+2a, умножая a на a, затем на b, затем на 2.
  5. Вычисляет значение d^3, последовательно умножая d, d, d.
  6. Вычисляет значение d^3/c.
  7. Вычитает из d^3/c значение (39c^2(a-b)^3)/(a^2b+2a), которое было вычислено на третьем шаге.
  8. Сохраняет результат в переменную x.
  9. В конце программы выводит на экран число 4C00h, что соответствует надписи Prog 7-4. Переменные:
  10. a - 4
  11. b - 2
  12. c - 5
  13. d - 10
  14. x - ? (результат вычисления)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут