Консультация № 194022
28.11.2018, 11:50
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Учебная эвм Жмакина. Цикл с переадресацией.
Создать программу нахождения минимального числа. Как-то не так код работает.
Код:
RD #40 
WR 30
RD #6
WR 31
RD @30
WR 32
M1: RD 30
ADD #1
WR 30
RD 31
SUB #1
WR 31
RD 32
SUB @30
JS 19
RD @30
WR 32
RD 30
WR #33
RD 31
JNZ M1
SUB #40
RD 33
OUT
HLT


Обсуждение

давно
Посетитель
7438
7205
29.11.2018, 12:11
общий
это ответ
Здравствуйте, новичок!
Я бы сделал так:
[code lang=asm]RD #40 ;адрес данных
WR 30 ;по адресу 30
RD #6 ;количество
WR 31 ;по адресу 31
RD @30 ;считаем первый элемент минимальным
WR 32 ;ячейка для минимального элемента

M1:RD 30 ;инкремент адреса следующего элемента
ADI #1
WR 30

RD 31 ;декремент счетчика
SUB #1
JZ EXIT ;просмотрели все? - на выход
WR 31 ;уменьшенный счетчик

RD 32 ;текущий минимальный элемент
SUB @30 ;сравниваем с очередным элементом массива
JS M1 ;если предыдущий минимальный элемент меньше очередного, то на M1

RD @30 ;нашли нрвый минимальный
WR 32 ;сохраняем
JMP M1 ;на повтор

EXIT: RD 32 ;найденный минимальный элемент
OUT ;вывести
HLT ;конец
[/code]
5
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа