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

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

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

Как сделать? (A-2)(A+6)(A*4)

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

textual
Листинг программы
  1. LOCALS
  2.  
  3. .model small
  4.  
  5. .stack 100h
  6.  
  7. .data
  8.         A       db      100
  9.         R       dd      0
  10. .code
  11.  
  12. main    proc
  13.         mov     ax,     @data
  14.         mov     ds,     ax
  15.  
  16.         mov     al,     A       ;bl=A-2
  17.         sub     al,     2
  18.         mov     bl,     al
  19.  
  20.         mov     al,     A       ;al=(A+6)
  21.         add     al,     6
  22.         mul     bl              ;bx=(A-2)*(A+6)
  23.         mov     bx,     ax
  24.  
  25.         mov     al,     A       ;ax=A*4
  26.         mov     ah,     0
  27.         shl     ax,     1
  28.         shl     ax,     1
  29.  
  30.         mul     bx              ;(dx:ax)=(A-2)*(A+6)*(A*4)
  31.  
  32.         mov     word ptr R,     ax
  33.         mov     word ptr R+2,   dx
  34.  
  35.         mov     ax,     4C00h
  36.         int     21h
  37. main    endp
  38.  
  39. end     main

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

  1. Создание локальных переменных.
  2. Установка размерности модели памяти.
  3. Определение размера стека.
  4. Определение блока данных: переменная A типа байт и переменная R типа двойного слова.
  5. Определение начала процедуры main.
  6. Установка значения регистра ax в значение сегмента данных ds.
  7. Вычитание 2 из переменной A и сохранение результата в регистре bl.
  8. Добавление 6 к переменной A и сохранение результата в регистре al.
  9. Умножение регистров al и bl и сохранение результата в регистре bx.
  10. Умножение переменной A на 4 и сохранение результата в регистре ax.
  11. Умножение значений регистра ax и регистра bx, результат помещается в регистры dx (старшая половина) и ax (младшая половина).
  12. Сохранение результатов вычислений в переменную R.
  13. Завершение процедуры main.
  14. Завершение программы.

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


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

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

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

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

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

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