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

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

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

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

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

textual
Листинг программы
; Задание 3. Геенко А. УВН-211, Вариант 4  
.386
seg1 segment use16
    x   db  2
    y   dw  ?
seg1 ends
cseg  segment use16
assume ds:seg1, cs:cseg,
; загрузка указателя сегмента ds
m1:     mov cx, seg1
     mov ds, cx
;сравнение однобайтного числа с непосредсвенным операндом 
      movsx ax,ds:x
    cmp ax,40
    jl short m2
    jg short m3
;вычитание если Х равен 40
    sub ax,70
    jmp short m4
; сложение если Х меньше 40
m2:     add ax,5
         jmp short m4
;сложение если Х больше 40 
m3:    add ax,60
; запись результата, выгрузка из памяти
m4:    mov ds:y,ax
        mov ah, 4ch
         int 21h
cseg ends
end  m1

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


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

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

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