Вычисление выражения по формуле. - Assembler (223295)

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

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

Составить программу на языке Assembler для вычисления нижеследующего выражения Y= A^2*X-B/C*X+8D X=6 A=6 B=4 C=3 D=1

Решение задачи: «Вычисление выражения по формуле.»

textual
Листинг программы
  1. LOCALS
  2.  
  3. .model small
  4.  
  5. .stack 100h
  6.  
  7. .data
  8.     x   db  6
  9.     a   db  6
  10.     b   db  4
  11.     c   db  3
  12.     d   db  1
  13.     y   db  ?   ;Y= A^2*X-B/C*X+8D
  14. .code
  15.  
  16. main    proc
  17.     mov ax,     @data
  18.     mov ds, ax
  19.  
  20.     mov al, a
  21.     imul    al      ;al:=a^2
  22.     imul    x       ;al:=a^2*x
  23.  
  24.     mov bl, al
  25.  
  26.     mov al, b
  27.     imul    x       ;al:=b*x
  28.     idiv    c       ;al:=b*x/c
  29.  
  30.     sub bl, al  ;bl:=a^2*x-b*x/c
  31.  
  32.     mov al, 8
  33.     imul    d       ;al:=8*d
  34.  
  35.     add al, bl  ;al:=a^2*x-b*x/c+8*d
  36.  
  37.     mov y,  al
  38.  
  39.  
  40.     mov ax, 4C00h
  41.     int 21h
  42. main    endp
  43.  
  44. end main

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

  1. Объявлены переменные: x, a, b, c, d, y
  2. Переменная y инициализируется выражением A^2*X-B/C*X+8D
  3. Код вычисляет значение выражения y
  4. Переменная al используется как промежуточная переменная для вычислений
  5. Переменная bl используется как промежуточная переменная для вычислений
  6. Переменная al присваивается значение a^2
  7. Переменная al умножается на x
  8. Переменная bl присваивается значение a^2*x
  9. Переменная al присваивается значение b*x
  10. Переменная al делится на c
  11. Выполняется операция вычитания bl-al
  12. Переменная al присваивается значение 8*d
  13. Выполняется операция сложения al+bl
  14. Значение al присваивается переменной y
  15. Код выполняет переход в конечную подпрограмму
  16. Код возвращает управление операционной системе
  17. Программа завершается

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


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

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

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

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

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

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