Срок выполнения:
Литература здесь (книги Пильщикова и Зубкова; из Зубкова пригодятся главы 2 и 11). Там же ссылка на документацию (англ.) ассемблера GNU (as).
Документация на команды (англ.): intel.zip intel-extra.zip amd.zip
В 64-разрядной версии Linux нужно установить 32-разрядную библиотеку Си для разработчика. В Ubuntu 14.04 это пакет libc6-dev-i386.
При сборке тогда нужно указывать, что нужен 32-разрядный код: gcc -m32 <файл.s>
В 32-разрядной версии собирайте без дополнительных ключей и пакетов: gcc <файл.s>
Проверить разрядность системы можно командой uname -m
Примеры
Копирование символов: 01-copy.zip
Удаление пробельных символов: 02-remove-space.zip 03-remove-space-tab.zip
Замена цепочки пробелов на один: 04-filter-space.zip
Вывод слов на букву "p": p-words.zip
Вывод строки: say.s
Вывод числа: write-int.s
Ввод числа: simple-read-int.s read-write-int.s
Вызов из Си (для Linux): t.c
Факториал: int-fact.s
Задание
Составьте программу на ЯА (архитектура IA-32, синтаксис AT&T), которая по алгоритму из работы 1.1 вычисляет i-ый элемент последовательности.
Номер i получайте со стандартного ввода.
При умножении используйте только младшие 32 бита произведения.
Полученное значение выведите на стандартный выход программы.
Варианты
Расчёт номера своего варианта см. на странице Успеваемость студентов.
0. (1 ; 2 ; 1+2=3 ; 2+3=5 ; 3+5=8 ; ...)
1. (1 ; 1+22 ; 1+22+32 ; 1+22+32+42 ; 1+22+32+42+52 ; ...)
2. (1 ; 1+2 ; 1+2+22 ; 1+2+22+23 ; 1+2+22+23+24 ; ...)
3. (1 ; 1+32 ; 1+32+52 ; 1+32+52+72 ; 1+32+52+72+92 ; ...)
4. (1 ; 1+32 ; 1+32–52 ; 1+32–52+72 ; 1+32–52+72–92 ; ...)
5. (1 ; 1+2 ; 1+2–22 ; 1+2–22+23 ; 1+2–22+23–24 ; ...)