Программа сборки для нахождения минимального и максимального значения в векторе - PullRequest
0 голосов
/ 16 апреля 2019

Вы должны написать ассемблерную программу, которая находит наименьшее и наибольшее значение в векторе . В ассемблере вектор (массив) состоит из элементов, которые лежат один за другим в памяти. Сам вектор обращается с адресом его первого элемента, а количество элементов, содержащихся в векторе, неизвестно, если у вас есть только адрес вектора. Таким образом, нужно либо узнать количество элементов каким-либо другим способом (например, параметром), либо, если один завершает вектор специальным значением, которое не должно встречаться в самом векторе (например, как нулевое значение, которое заканчивается строкой) , для процессора Atmel SAM3X8E

ИМЯ главная ОБЩЕСТВЕННАЯ главная РАЗДЕЛ. Текст: КОД (2) БОЛЬШОЙ ПАЛЕЦ Основной

NOP. ; <- вы должны написать код здесь </p>

B основной; <- строки программного кода </p>

STOP B STOP

ALIGNROM 2

вектор данных

 DC32 14, 25, 2, 27, 3
 DC32 22, 13, 4, 24, 6
 DC32 26, 18, 8, 15, 9
 DC32 28, 10, 7, 17, 5

1 Ответ

0 голосов
/ 16 апреля 2019

Здесь нет актуального вопроса; поэтому я предполагаю, что вы спрашиваете, как написать код для домашнего задания.

Первое, что вы захотите сделать, это разбить его на логические части. Например, из требований должно быть относительно очевидно, что вам понадобится:

  • цикл (например, "для каждого элемента в массиве {...}")

  • что-то для отслеживания "текущего минимума"

  • что-то для отслеживания "текущего максимума"

  • что-то для обновления текущего минимума и текущего максимума, если / когда найден элемент, содержащий значение, которое меньше текущего минимума или больше текущего максимума

Как только вы определили логические части, вы можете работать с ними по одной за раз. Например, вы можете начать с написания некоторой сборки для цикла (не заботясь ни о каких других частях) и протестировать ее, чтобы убедиться, что она работает (например, убедитесь, что она не падает, не зацикливается вечно или ...).

Обратите внимание, что это в основном важно, чтобы не быть перегруженным вещами, с которыми вы еще не знакомы, и поэтому, если вы застряли, вы можете попросить людей помочь с конкретной проблемой (например, типа «Почему это сравнение из 2 целых чисел не делать то, что я думал "должен с копией вашего кода).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...