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

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

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

Вычислить значение функции F(x)=x2+5x+7

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

textual
Листинг программы
;
; x^2+5x+7
;
.186
.MODEL TINY
;
.DATA
sbX   Sbyte 127   ; Worst case
;
.CODE
      ORG   100h
START:
      MOV   AL, sbX
      CBW
      MOV   DX, AX
      SAL   DX, 2
      ADD   DX, AX
      ADD   DX, 7
      MOV   AL, sbX
      IMUL  AL
      ADD   AX, DX
      RET
;
END START
;

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

  1. Объявление переменной sbX как знаковый байт и инициализация её значением 127.
  2. Переход к секции кода и установка начального адреса выполнения.
  3. Загрузка значения переменной sbX в регистр AL.
  4. Преобразование знакового байта в слово, сохранение результата в регистр AX.
  5. Сдвиг содержимого регистра DX на 2 бита влево.
  6. Добавление к содержимому регистра DX значения регистра AX.
  7. Добавление к содержимому регистра DX числа 7.
  8. Загрузка значения переменной sbX в регистр AL.
  9. Умножение содержимого регистра AL на себя.
  10. Добавление содержимого регистра AX к значению переменной DX.
  11. Возврат из подпрограммы.
  12. Конец программы.

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

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