Решить небольшую задачу, используя Assembler GAS под linux
Задача
Необходимо написать код на Assembler GAS под linux, который решит следующую задачу:
В массиве заменить каждый из элементов суммой соседей, кроме крайних.
Пример:
Дан массив: 1, 2, 3, 4, 5 - Вывод 1, 4, 6, 8, 5
Дан массив: 11 12 13 14 - Вывод 11, 24, 26, 14
Программа консольная, ввод чисел для массива должен быть реализован через консоль
Оставлять заявки могут только авторизованные пользователи.
sum:
.skip size * 4 # Массив для хранения сумм соседних элементов
.section .text
.globl _start
_start:
mov $0, %ecx # Инициализация счетчика
mov $0, %ebx # Инициализация индекса для суммирования
loop:
cmp $size, %ecx # Проверка на окончание обработки
je done
mov arr(,%ecx,4), %eax # Загрузка текущего элемента
mov %ecx, %eax
cmp $0, %ecx # Проверка на первый элемент массива
je not_first
add -4(%eax), %eax # Суммирование с предыдущим элементом
not_first:
cmp $(size - 1), %ecx # Проверка на последний элемент массива
je not_last
add 4(%eax), %eax # Суммирование с следующим элементом
not_last:
mov %eax, sum(,%ecx,4) # Сохранение суммы в массиве sum
inc %ecx # Увеличение счетчика
jmp loop
done:
mov $0, %eax # Выход из программы
mov $60, %eax # Системный вызов для завершения программы
xor %edi, %edi # Код возврата 0
syscall
Решить небольшую задачу, используя Assembler GAS под linux
Реклама
Решить небольшую задачу, используя Assembler GAS под linux
Необходимо написать код на Assembler GAS под linux, который решит следующую задачу:
В массиве заменить каждый из элементов суммой соседей, кроме крайних.
Пример:
Дан массив: 1, 2, 3, 4, 5 - Вывод 1, 4, 6, 8, 5
Дан массив: 11 12 13 14 - Вывод 11, 24, 26, 14
Программа консольная, ввод чисел для массива должен быть реализован через консоль
Другие открытые задания:
Настройка Яндекс директа20 000 р.
Бюджет: 20 000 р. Добрый день, нужно настроить Яндекс директ. Товар: Речные прогулки на теплоходах по Енисею и Красноярскому морю. Нужно каждый маршрут настроить на контекстную рекла…
Лабораторная работа по Структуры и алгоритмы обработки данных в ЭВМ2 000 р.
Бюджет: 2 000 р. Нужно сделать лабораторную работу вариант 19 вместе с отчётом. Вот её описание:Цель лабораторной работы № 2 — получить практические навыки представления графов в …
Размещение объявлений на авито5 000 р.
Бюджет: 5 000 р. От вас просто размещение на вашем аккаунте. Занимаюсь перепродажей электроники и других вещей. Провисеть должны до продажи. Можно несколько объявлений и несколько а…
поиск заданий