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

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

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

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

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

textual
Листинг программы
LOCALS
 
.model small
 
.stack 100h
 
.data
    x   db  6
    a   db  6
    b   db  4
    c   db  3
    d   db  1
    y   db  ?   ;Y= A^2*X-B/C*X+8D
.code
 
main    proc
    mov ax,     @data
    mov ds, ax
 
    mov al, a
    imul    al      ;al:=a^2
    imul    x       ;al:=a^2*x
 
    mov bl, al
 
    mov al, b
    imul    x       ;al:=b*x
    idiv    c       ;al:=b*x/c
 
    sub bl, al  ;bl:=a^2*x-b*x/c
 
    mov al, 8
    imul    d       ;al:=8*d
 
    add al, bl  ;al:=a^2*x-b*x/c+8*d
 
    mov y,  al
 
 
    mov ax, 4C00h
    int 21h
main    endp
 
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