Вычисление выражения с разными значениями Х - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д