РАССЫЛКИ ПОРТАЛА RFPRO.RU
Лучшие эксперты в разделе
• Assembler
Уважаемые эксперты! Прошу вас помочь с составлением программы для CompModel. Сортировка массива от минимального значения к максимальному.
Дата отправки: 30.11.2018, 00:14 Консультирует Лысков Игорь Витальевич (Старший модератор): Здравствуйте, soloveujenya! Код (Assembler) :: выделить код RD #40 ;адрес начала массива WR R0 ;адресацию во внешнем цикле сортировки будем делать с помощью регистра R0 RD #50 ;адрес ЗА массивом, т.е. в массиве 10 элементов (чтобы работала команда JS) WR R3 ;в регистре R3, для внутреннего цикла сортировки SBI #1 ;внешний цикл сортировки до предпоследнего элемента WR R2 ;в регистре R2 ;внешний цикл сортировки L1:RD R0 ;начальный адрес внутреннего цикла на 1 больше внешнего ADI #1 WR R1 ;адрес внутреннего цикла ;внутренний цикл сортировки L2:RD @R1 ;сравниваем текущий элемент внутреннего цикла SUB @R0 ;с текущим внешнего JNS NEXT2 ;если больше или равно, то на следующий элемент внутреннего цикла RD @R1 ;если меньше, то меняем местами текущий элемент внутреннего цикла WR R4 RD @R0 ;и внешнего WR @R1 RD R4 WR @R0 NEXT2: ;на следующий элемент внутреннего цикла RD R1 ;инкремент адреса ADI #1 WR R1 SUB R3 ;сравниваем, дошли ли до конца массива JS L2 ;нет - продолжаем RD R0 ;на следующий элемент внешнего цикла ADI #1 WR R0 SUB R2 ;сравниваем, дошли ли до предпоследнего элемента массива JS L1 ;нет - идем на следующий внутренний цикл HLT ;задача выполнена. По адресу, начиная с 40 - отсортированный массив
Оценить выпуск | Задать вопрос экспертам
главная страница
|
стать участником
|
получить консультацию
|