Л/р 2 - Системные вызовы

С помощью GNU Assembler (GAS) или Netwide Assembler (NASM) в ОС Linux создать утилиту обработки файлов, которая реализует алгоритм подсчета Контрольной суммы CRC по одному из модулей (ниже). В программе не использовать библиотечные функции (только системные вызовы и операции ассемблера).

Программа должна запускаться так:
Печать ФИО, номера зачетки и модуля: ./crc -v
Результат (строка вида "Vasya Pupkin IS-8201 CRC-4-ITU x4 + x + 1") выводится в STDOUT

Вычисление суммы: ./crc <имя файла>
Результат (число) выводится в STDOUT

Проверка суммы: ./crc -c <сумма> <имя файла>
Результат (true или false) выводится в STDOUT
Модуль в зависимости от последних двух цифр номера зачетки:
01 - CRC-4-ITU
02 - CRC-5-EPC
03 - CRC-5-ITU
04 - CRC-5-USB
05 - CRC-6-ITU
06 - CRC-7
07 - CRC-8-CCITT
08 - CRC-8-Dallas/Maxim
09 - CRC-8
10 - CRC-8-SAE J1850
11 - CRC-8-WCDMA
12 - CRC-10
13 - CRC-11
14 - CRC-12
15 - CRC-15-CAN
16 - CRC-16-IBM
17 - CRC-16-CCITT
18 - CRC-16-T10-DIF
19 - CRC-16-DNP
20 - CRC-16-DECT
21 - CRC-16-Fletcher
22 - CRC-24
23 - CRC-24-Radix-64
24 - CRC-30
25 - CRC-32
26 - CRC-32C
27 - CRC-32K
28 - CRC-32Q
29 - CRC-40-GSM
30 - CRC-64-ISO

Оценка — 10 баллов.

Литература:

Сроки сдачи: 19.10.2011 (перненосится на 26.10.2011)

Also available in: HTML TXT