Вычисление выражения с разными значениями Х - Assembler

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

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

В сегменте данных по адресу ds:x находится однобайтная знаковая величина (X). в зависимости от соотношения величины Х, заданного в задании, реализовать логику вычисления двухбайтного результата (Y). результат записать в сегмент данных по адресу ds:y. (X-70, X=40 Y={60+X, 40<X (5+X, иначе (фигурные скобки)

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

textual
Листинг программы
  1. ; Задание 3. Геенко А. УВН-211, Вариант 4  
  2. .386
  3. seg1 segment use16
  4.     x   db  2
  5.     y   dw  ?
  6. seg1 ends
  7. cseg  segment use16
  8. assume ds:seg1, cs:cseg,
  9. ; загрузка указателя сегмента ds
  10. m1:     mov cx, seg1
  11.      mov ds, cx
  12. ;сравнение однобайтного числа с непосредсвенным операндом
  13.       movsx ax,ds:x
  14.     cmp ax,40
  15.     jl short m2
  16.     jg short m3
  17. ;вычитание если Х равен 40
  18.     sub ax,70
  19.     jmp short m4
  20. ; сложение если Х меньше 40
  21. m2:     add ax,5
  22.          jmp short m4
  23. ;сложение если Х больше 40
  24. m3:    add ax,60
  25. ; запись результата, выгрузка из памяти
  26. m4:    mov ds:y,ax
  27.         mov ah, 4ch
  28.          int 21h
  29. cseg ends
  30. end  m1

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


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

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

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

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

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

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