02.07.2020, 09:39 [+3 UTC]
в нашей команде: 4 658 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
27.06.2020, 09:37

Последний вопрос:
02.07.2020, 06:46
Всего: 152710

Последний ответ:
01.07.2020, 15:10
Всего: 260316

Последняя рассылка:
01.07.2020, 04:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
18.02.2011, 17:11 »
Savter
Спасибо Дмитрий, это именно то, что нужно. [вопрос № 182245, ответ № 265910]
24.09.2009, 21:45 »
Грибенников Александр Сергееви
Спасибо! Все по делу. [вопрос № 172585, ответ № 254638]
25.10.2019, 12:15 »
IvanDorohov
Большое спасибо, Константин Николаевич [вопрос № 196713, ответ № 278986]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Старший модератор
Рейтинг: 1135
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 344
Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 190864
Раздел: • Assembler
Автор вопроса: Максим Евгеньевич (Посетитель)
Отправлена: 11.04.2017, 19:03
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

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

Состояние: Консультация закрыта

Здравствуйте, Максим Евгеньевич!
Вот Вам программка. По адресу, начиная с 30 необходимо ввести 10 чисел

Код (Assembler) :: выделить код
;Определение номера первого положительного числа
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 ;останов


Консультировал: Лысков Игорь Витальевич (Мастер-Эксперт)
Дата отправки: 20.04.2017, 19:41

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13841 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39