Вычисление функции, разветвление - Assembler

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

Решение задачи: «Вычисление функции, разветвление»

textual
Листинг программы
  1. LOCALS
  2.  
  3. .model small
  4.  
  5. .stack 100h
  6.  
  7. .data
  8.         A       dw      157
  9.         B       dw      100
  10.         R       dw      ?
  11. .code
  12.  
  13. main    proc
  14.         mov     ax,     @data
  15.         mov     ds,     ax
  16.  
  17.         mov     ax,     A
  18.         cmp     ax,     B
  19.         je      @@Equal
  20.         jg      @@Greater
  21. @@Lower:
  22.         add     ax,     A       ;ax:=3*A
  23.         add     ax,     A
  24.         sub     ax,     5       ;ax:=3*A-5
  25.         cwd                     ;(dx:ax):=3*A-5
  26.         idiv    B               ;ax:=(3*A-5)/B
  27. @@Greater:
  28.         imul    ax              ;(dx:ax):=A*A*A
  29.         imul    A
  30.         add     ax,     B       ;(dx:ax):=A*A*A+B
  31.         adc     dx,     0
  32.         idiv    A               ;ax:=(dx:ax)/A
  33.         jmp     @@Finish
  34. @@Equal:
  35.         mov     ax,     4       ;ax:=4
  36. @@Finish:
  37.         mov     ax,     R
  38.  
  39.         mov     ax,     4C00h
  40.         int     21h
  41. main    endp
  42.  
  43. end     main

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


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

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

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

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

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

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