Вычислить значение выражения a*5-(b+c+d)/2 - Assembler

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

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

Всем привет. Помогите, пожалуйста, написать программу на Assembler, вычисляющую значение выражения. Вот то самое выражение: a*5-(b+c+d)/2 Заранее спасибо)

Решение задачи: «Вычислить значение выражения a*5-(b+c+d)/2»

textual
Листинг программы
  1. ; FASM code........
  2. ; целочисленная арифметика (без остатка)
  3. ; выводит на экран числа 0-99
  4. format mz
  5. org 100h
  6. jmp start
  7.  
  8. mes0   db   13,10,' FORMULA: a*5-(b+c+d)/2'
  9.        db   13,10,' A=9, B=0, C=2, D=3'
  10.        db   13,10,' -------------------------'
  11.        db   13,10,' RESULT: $'
  12.  
  13. start:
  14.        mov   ah,9          ; мессага
  15.        mov   dx,mes0       ;
  16.        int   21h           ;
  17.  
  18.        xor   ax,ax         ;
  19.        mov   al,9          ;
  20.        imul  ax,5          ; А*5
  21.  
  22.        xor   bx,bx         ;
  23.        mov   bl,0          ;
  24.        add   bl,2          ;
  25.        add   bl,3          ; (b+c+d)
  26.        shr   bx,1          ;    ../2
  27.  
  28.        sub   ax,bx         ; a*5-(b+c+d)/2
  29.  
  30.        aam                 ; распаковываем результат (BCD)
  31.        or    ax,3030h      ; переводим его в символы
  32.        xchg  ah,al         ;
  33.        int   29h           ;
  34.        xchg  ah,al         ;
  35.        int   29h           ; выводим на экран
  36.  
  37. exit:  xor   ax,ax         ; ждём клавишу..
  38.        int   16h           ;
  39.        mov   ax,4c00h      ;
  40.        int   21h           ; выход!

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

Cписок действий в коде:

  1. Вывод на экран сообщения с формулой и значениями переменных.
  2. Переход к метке start.
  3. Вычисление значения выражения a*5-(b+c+d)/2.
  4. Вывод результата вычисления на экран.
  5. Ожидание нажатия клавиши.
  6. Выход из программы.

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


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

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

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

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

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

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