Вычислить значение кусочной функции - Assembler (248232)

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

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

Вычислить значение функции у= х^2, если 1<=х<=4 у(х) = х^2-5*х+1, если 5<=х<=10 0 в остальных случаях.

Решение задачи: «Вычислить значение кусочной функции»

textual
Листинг программы
mov al,x
sub al,1
cmp al,3
jbe one
    
mov al,x
sub al,5
cmp al,5
jbe two
    
jmp three
    
one:
mov al,x
imul al
    
mov y,al
    
jmp exit
    
two:
mov al,x
imul al
    
mov bl,al
    
mov al,x
mov cl,5
imul cl
    
sub bl,al
inc bl
    
mov y,bl
    
jmp exit
    
three:
mov y,0
 
exit:

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

  1. mov al,x — перехват значения x в регистр al.
  2. sub al,1 — вычитание единицы из значения в регистре al.
  3. cmp al,3 — сравнение значения в регистре al с 3.
  4. jbe one — переход на метку one, если значение в регистре al меньше или равно 3.
  5. mov al,x — перехват значения x в регистр al.
  6. sub al,5 — вычитание 5 из значения в регистре al.
  7. cmp al,5 — сравнение значения в регистре al с 5.
  8. jbe two — переход на метку two, если значение в регистре al меньше или равно 5.
  9. jmp three — переход на метку three.
  10. one: — начало метки one.
  11. mov al,x — перехват значения x в регистр al.
  12. imul al — умножение значения в регистре al на 2 (так как al является регистром для аккумулятора, и его значение не будет изменено до следующего действия).
  13. mov y,al — перехват значения в регистре al в переменную y.
  14. jmp exit — переход на метку exit.
  15. two: — начало метки two.
  16. mov al,x — перехват значения x в регистр al.
  17. imul al — умножение значения в регистре al на 2.
  18. mov bl,al — перехват значения в регистре al в переменную bl.
  19. mov al,x — перехват значения x в регистр al.
  20. mov cl,5 — перехват значения 5 в регистр cl.
  21. imul cl — умножение значения в регистре cl на 2.
  22. sub bl,al — вычитание значения в регистре al из значения в регистре bl.
  23. inc bl — увеличение значения в регистре bl на единицу.
  24. mov y,bl — перехват значения в регистре bl в переменную y.
  25. jmp exit — переход на метку exit.
  26. three: — начало метки three.
  27. mov y,0 — перехват значения 0 в переменную y.
  28. exit: — конец метки exit.

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


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

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

7   голосов , оценка 4.143 из 5
Похожие ответы