11.12.2018, 02:26 [+3 UTC]
в нашей команде: 3 207 чел. | участники онлайн: 2 (рекорд: 19)

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

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

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.57 (10.12.2018)

Общие новости:
01.12.2018, 22:30

Форум:
08.12.2018, 14:26

Последний вопрос:
10.12.2018, 18:36

Последний ответ:
10.12.2018, 22:41

Последняя рассылка:
10.12.2018, 20:15

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

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

Наша кнопка:

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

Отзывы о нас:
26.04.2012, 15:53 »
John_the_Revelator
Спасибо большое за понятный, развернутый ответ + хорошее оформление! [вопрос № 185904, ответ № 270643]
21.11.2010, 20:02 »
Lion
Ответ отличный, подробный и с последовательным изложением законодательства. Хотя я с ним не согласен. Разве право устанавливать гарантии деятельности, это то же самое, что ограничивать полномочия депутата - устанавливать объём этих полномочий? Субъект обязан установить гарантии деятельности, то есть в законе субъекта предусмотреть право депутата на обращение с запросом, и обязанность должностных лиц предоставить информацию по запросу в установленном порядке, и в установленные сроки. Устанавливать же крит...
16.12.2015, 15:02 »
readtext
Спосибо за разъяснения по трансформаторам. ЛАТР приобрету, думается будет еще масса ситуаций где бы он мог пригодиться. Для примера: сравнение потреб. мощности одинаковых эл.-приборо при эталонном напряжении (220В). Циркуляционный насос - излишнее усложнение системы для небольшого помещения на втором этаже. На счет помех: чем бороться со следствием, лучше устранить причину на м.взг. Ровная синусоида - залог сдоровья всех электроприборов. [[url=http://rfpro.ru/ques tion/188424]вопрос № 188424, ответ № 2730..

РАЗДЕЛ • Assembler

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

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

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

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 843
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 179
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 14

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

Консультация онлайн # 194142
Раздел: • Assembler
Автор вопроса: lmk (Посетитель)
Отправлена: 08.12.2018, 23:22
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Прошу помощи в следующем вопросе:
Три массива в памяти заданы начальными адресами и длинами. Вычислить и вывести на устройство вывода среднее арифметическое параметров этих массивов. Параметр массивов это минимальное положительное число. CompModel, Модель ЭВМ.

Есть такой код, но здесь необходимо сделать поиск минимального из положительных.

Код (Assembler) :: выделить код
RD #040 ;загрузка начального адреса массива
WR 030  ;в ячейку 030
RD #14  ;загрузка параметра цикла k=14 в ячейку 031
WR 031
RD #0   ;загрузка искомого минимального положительного числа нулём
WR 032  ;в ячейку 032
M1: RD @030 ;берём очередной элемент массива
SUB #1  ;сравниваем с 1 - т.е. проверяем на положительность
JNS M2  ; если положительное - завершаем поиск первого положительного
RD 30    ; увеличиваем адрес массива на 1 (переходим к следующему элементу)
ADD #1
WR 30
RD 031 ; Уменьшаем счётчик (параметр цикла) на 1
SUB #1
WR 031
JNZ M1 ; Если цикл не закончился - переходим к рассмотрению следующего элемента массива
M2:


Заранее, благодарю.

Состояние: Консультация активна (до закрытия: 2 сут. 20 час. 56 мин.)

Ответ # 277072 от Лысков Игорь Витальевич (Старший модератор)

Здравствуйте, lmk!
Примерно так...
Думаю, разберетесь... В тексте достаточно комментариев.

Код (Assembler) :: выделить код
RD #3 ;количество массивов и минимальных положительных 
WR R4 ;(для подсчета среднего арифметического)
RD #40 ;загрузка начального адреса первого массива 
WR R0  ;в регистр R0 
RD #5  ;загрузка длины массива k=5 в регистр R2 
WR R2
CALL MINPOS ;ищем минимальное положительное в массиве
WR R3 ;накапливаем сумму для среднего арифметического

RD #50 ;загрузка начального адреса второго массива 
WR R0  ;в регистр R0 
RD #4  ;загрузка длины массива k=4 в регистр R2 
WR R2
CALL MINPOS
ADD R3 ;накапливаем сумму для среднего арифметического
WR R3

RD #60 ;загрузка начального адреса второго массива 
WR R0  ;в регистр R0 
RD #5  ;загрузка длины массива k=5 в регистр R2 
WR R2
CALL MINPOS
ADD R3 ;накапливаем сумму для среднего арифметического

DIV R4 ;делим на количество
OUT ;выводим среднее арифметическое
HLT ;останов

MINPOS:RD #0 ;обнуляем минимальное положительное
WR R5
M1:RD @R0+ ;берём очередной элемент массива (с автоинкрементом адреса)
JS NEXT ;отрицательные
JZ NEXT ; и нулевые пропускаем
WR R6 ;сохраним в R6
RD R5 ;проверим текущее минимальное положительное на 0
JZ NEW ;если найдено первое положительное, то просто сохраняем в R5
RD R6 ;только что прочитанное положительное число
SUB R5 ;сравниваем с минимальным
JNS NEXT ;если >= , то на следующее
NEW:MOV R5,R6 ;нашли очередное минимальное
NEXT:JRNZ R2,M1 ;циклим по всем элементам массива
RD R5 ;возвращаем результат в аккумуляторе
RET


Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 10.12.2018, 16:58

5
Премного благодарен)

-----
Дата оценки: 10.12.2018, 19:20

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

+1

[подробно]

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

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

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

Яндекс Rambler's Top100

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

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

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.57 от 10.12.2018