Найти наименьшее число из трех однобайтовых знаковых чисел (emu8086) - Assembler

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

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

Необходимо реализовать программу, которая находит наименьшее из трех однобайтовых знаковых чисел. Программа необходимо написать в emu8086.

Решение задачи: «Найти наименьшее число из трех однобайтовых знаковых чисел (emu8086)»

textual
Листинг программы
.model small
 
.data
        a       db 100
        b       db -84
        c       db -32
 
.stack 100h
 
.code
 
main:
        mov     ax,     @data
        mov     ds,     ax
 
        mov     al,     a
        cmp     al,     b
        jle     @@TestC
        mov     al,     b
 
@@TestC:
        cmp     al,     c
        jle     @@Stop
        mov     al,     c
 
@@Stop:
 
        mov ax, 4C00h
        int 21h
end main

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

  1. Объявлены три однобайтовых переменные a, b и c, которые содержат значения 100, -84 и -32 соответственно.
  2. Начальный сегмент данных сохранен в регистре ax.
  3. Сегмент данных установлен в значение, сохраненное в регистре ax.
  4. Переменная al (младший байт регистра ax) установлена равной переменной a.
  5. Производится сравнение переменной al и переменной b, и если переменная al больше переменной b, то переменная al устанавливается равной переменной b.
  6. Переменная al сравнивается с переменной c, и если переменная al меньше переменной c, то выполняется переход к метке @Stop.
  7. Переменная al устанавливается равной переменной c.
  8. Выполняется переход к метке @Stop.
  9. Завершение работы программы: регистр ax содержит код завершения программы, который передается в функцию int 21h.
  10. Код программы завершается.

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

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