Консультация № 190864
11.04.2017, 19:03
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Необходимо написать программу для определения номера первого положительного числа(CompModel)

Обсуждение

давно
Посетитель
7438
7205
20.04.2017, 19:41
общий
это ответ
Здравствуйте, Максим Евгеньевич!
Вот Вам программка. По адресу, начиная с 30 необходимо ввести 10 чисел
[code lang=asm h=200];Определение номера первого положительного числа
rd #30 ;адрес начала массива
wr r1 ;массив будем адресовать при помощи r1
rd #10 ;количество элементов массива
wr r2 ;счетчик элементов массива

;цикл по элемента массива
loop: rd @r1+ ;считываем очередной с автоинкрементом адреса
jz next ;нулевые элементы пропускаем
jns found ;положительный? если да, то нашли требуемое
next: jrnz r2,loop ;декремент счетчика, если r2 не 0, то продолжаем
rd #0 ;если не найдем положительных, то покажем это нулевым аккумулятором
jmp exit ;на выход
found: rd r1 ;нашли, в аккумуляторе будет адрес за найденным элементом
sbi #30 ;отнимаем адрес начала массива, получим номер элемента, начиная с 1
exit: out ;показываем аккумулятор
hlt ;останов
[/code]
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа