169 похожих чатов

Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому

я указал
arr db 100 dup(?)
С нахождением максимума проблем нет, а вот минимум почему-то всегда равен нулю. Как это исправить?

Код:
model small
.stack 256
.data
arr db 101 dup(?)
mes db 10, 13, "Enter any number (press 'Enter' to exit): $"
ent db 0Dh
mes1 db " $"
mes2 db 10, 13, "$"
mes3 db "Result: $"
min db 0
max db 0
min-pos db 0
max-pos db 0
.code
main:
.386
mov ax, @data
mov ds, ax

mov ah, 09
lea dx, mes
int 21h

mov cx, 100
mov si, 0
init:
mov ah, 01
int 21h
cmp al, ent
je exit
mov bl, al
sub bl, 30h
int 21h
sub al, 30h
mov ah, bl
aad
mov arr[si], al
inc si

mov ah, 09
lea dx, mes1
int 21h
loop init

exit:
lea si, arr
mov max, [si]
mov min, [si]

mov cx, 100
find:
;find_max:
mov al, [si]
cmp max, al
jbe maximum
back1:
;find_min:
mov al, [si]
cmp min, al
jae minimum
back2:
inc si
loop find

jmp output

maximum:
mov al, [si]
mov max, al
jmp back1

minimum:
mov al, [si]
mov min, al
jmp back2

output:
mov ah, 09
lea dx, mes2
int 21h


mov al, max
aam
mov bx, ax
add bx, 3030h
mov ah, 02
mov dl, bh
int 21h
mov dl, bl
int 21h

mov ah, 09
lea dx, mes1
int 21h

mov al, min
aam
mov bx, ax
add bx, 3030h
mov ah, 02
mov dl, bh
int 21h
mov dl, bl
int 21h

over:
mov ax, 4c00h
int 21h
end main

11 ответов

65 просмотров

Ну наверное нужно в минимум записать число побольше. 255, например.

En Vind Av Sorg- Автор вопроса
s54820
Ну наверное нужно в минимум записать число побольш...

Записал, минимум все так же нуль, хотя среди вводимых чисел нуля нет

s54820
Ну наверное нужно в минимум записать число побольш...

не, достоточно посчитать сколько элементов при вводе было, и искать по этому количеству, а не п овсей выделенной памяти

En Vind Av Sorg- Автор вопроса
Aiwan \ (•◡•) / _bot
не, достоточно посчитать сколько элементов при вво...

Как это реализовать? Пока что в голову приходит 1 вариант: перед вводом чисел попросить ввести кол-во вводимых чисел

En Vind Av Sorg
Как это реализовать? Пока что в голову приходит 1 ...

цикл сделать при вводе элементов с подсчетом

En Vind Av Sorg
Как это реализовать? Пока что в голову приходит 1 ...

вот тебе надо ввести 5 элементов. как ты прекращешь вводить данные?

Aiwan \ (•◡•) / _bot
не, достоточно посчитать сколько элементов при вво...

Да, я не увидел, что там первый элемент пишется в мин/макс. А посчитать: там же si инкрементится при вводе, оно уже счётчик.

En Vind Av Sorg- Автор вопроса
Aiwan \ (•◡•) / _bot
ну вот и решение

Понял, сейчас попробую

Похожие вопросы

Обсуждают сегодня

Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Какой дос блять?
007
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
Карта сайта