Курсовая работа: Розробка на мові асемблера алгоритму контролю на парність масиву даних

Після закінчення процедури акумулятор AX містить обчислений для масиву значення CRC8.

Для збереження результату його переносимо в змінну result.

Для перевірки цілісності масиву потрібно повторити обчислення контрольної суми і порівняти зі значенням в result.

Блок-схема алгоритму наведена в додатку 2.


4. Відладка та випробування розробленого програмного забезпечення

Алгоритм визначення CRC реалізований в процедурі CalcCRC. Перед викликом цієї процедури необхідно в регістри записати початкові дані - сегментний регістр ES повинен містити сегмент в якому розташований масив, регістр DX - зміщення початку масиву всередині сегмента, BX - довжина масиву.

Програма виконує наступні операції на вибір користувача: обчислення CRC масиву і запис результату в змінну, перевірка цілісності масиву - повторне обчислення CRC і порівняння обчисленого значення з записаним, спотворення масиву - оборотне зміна одного біта перевірочного масиву.

Для обчислення CRC, викликається процедура CalcCRC, а результат виконання зберігається у змінній result.

При перевірці цілісності, викликається процедура CalcCRC, а результат виконання порівнюється зі збереженим у змінній result. У випадку розбіжності, виводиться повідомлення про помилку. При збігу значень (цілісність даних не порушена) повідомлення не виводиться і користувач повертається в головне меню.

Спотворення масиву використовується для тестування програми і демонстрації роботи.

Для тестування в програмі передбачений перевірочний масив даних довжиною 32 байта. При спотворенні, інвертується молодший біт першого слова масиву.


Висновок

Асемблер є символічним аналогом машинної мови. З цієї причини програма, написана на асемблері, повинна відображати всі особливості архітектури мікропроцесора: організацію пам'яті, способи адресації операндів, правила використання регістрів і т. д. З-за необхідності врахування подібних особливостей асемблер унікальний для кожного типу мікропроцесорів.

У цій роботі розглянуті основні етапи програмування на асемблері, реалізований алгоритм виконання поставленого завдання, а також виконана трансляція коду у виконуваний файл.


Література

1.Абель П. Основи программирования/ Пер. с англ. Ю. В. Сальниковая.- М.: Висш. Шк. 1992г. - 447с.: ил.

2.А. Жуков, А. Авдохин «Assembler».-Спб: БХВ - Петербург, 2002..

3.Архитектура ввода-вывода персональных ЭВМ IBM РС Под редакцией Ю. С. Лукача (C) Инженерно-техническое бюро, 1990

4.В. Юров «Assembler» Практикум.-Спб.:Питер, 2001.

5.В. Юров «Assembler» Учебник.-Спб.:Питер, 2001.

6.Зубков С. В. Ассемблер для Dos, Windows и Unix - «Питер», в 2004 г.

7.Ирвин, Кип. Язык Ассемблера для процессоров Intel, 3-е издание: Пер. с англ. - М.: Издательский дом «Вильямс», 2002.-616с.: ил. - Парал. Тит. Англ.

8.Использование Turbo Assembler при разработке программ / Сост. А. А. Чекатков.-Киев:Диалектика,1995.-228с


Додаток А

Текст програми

MODEL SMALL

;*************************************************

; Сегмент стека

;*************************************************

_Stack SEGMENT WORD 'STACK'

DB 200h DUP (?)

_Stack ENDS

;*************************************************

; Сегмент тестового масиву

;*************************************************

DataSeg SEGMENT WORD 'DATA'

TestTab DB 32 DUP (\

К-во Просмотров: 318
Бесплатно скачать Курсовая работа: Розробка на мові асемблера алгоритму контролю на парність масиву даних