Вводить целые числа пока не встретится 0. Определить минимальное введенное число - Assembler

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

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

Всем привет! Имею задачу: Вводить целые числа пока не встретится 0. Определить максимальное введенное число. Набросал код, но при выполнении он в любом случае выдает ноль. Какую проверку надо сделать, или как изменить цикл, чтобы выводило правильное минимальное число?
.model small
include io.asm
.data
info db "Вычисление минимального числа из множества введенных чисел. $"
smsa db "Вводите числа. Для окончания ввода введите 0 (ноль): $"
smsb db "Максимальное число среди введенных - $" 
N dw ?
min dw 32767
.code
start:
mov ax, @data
mov ds,ax
mov cx,min
lea dx,info
outstr ;вывод info 
newline
lea dx,smsa 
outstr
newline
cikl:
inint N ;ввод N
mov ax,N 
cmp ax,cx
jg N_bolshe_min
mov cx,N     
N_bolshe_min:
cmp ax,0
jne cikl
lea dx,smsb
outstr
mov min,cx
outword min
finish
end start

Решение задачи: «Вводить целые числа пока не встретится 0. Определить минимальное введенное число»

textual
Листинг программы
org 100h
jmp start
 
mess0  db  13,10,'Type digit: $'
mess1  db  13,10,' Max digit: $'
 
start:
   mov   ah,9            ;
   mov   dx,mess0        ;
   int   21h             ;
   xor   bx,bx           ; здесь будет максимальное
   mov   ah,1            ; ввод с эхом
@@:                      ;
   int   21h             ;
   cmp   al,'0'          ;
   je    stop            ; нуль прекращает ввод
   cmp   al,bl           ; сравниваем..
   jb    next            ; меньшее - не трогаем
   xchg  al,bl           ; большее - отправляем в BL
next:                    ;
   jmp   @b              ;
 
stop:                    ;
   mov   ah,9            ;
   mov   dx,mess1        ;
   int   21h             ;
   xchg  al,bl           ; выводим на экран макс с регистра BL
   int   29h             ;
 
exit:                    ;
   xor   ax,ax           ;
   int   16h             ;
   int   20h             ; выход по-любой клавише

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


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

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

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