Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка на мові асемблера алгоритму контролю на парність масиву даніх

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





б'єкта, над Якою або за помощью Якого віконується Певна дія. Ці об'єкти назіваються операндами. Їх можна візначіті так: операнди - це об'єкти (деякі значення, а регістрі або коміркі пам'яті), на Які діють інструкції чи директиви, або це об'єкти, Які візначають або уточнюють дію інструкцій або директив.

Операндами могут комбінуватіся з Арифметичний, логічнімі, побітовім и Атрибутивний операторами для розрахунку Деяк Значення або визначення коміркі пам'яті, на якові буде впліваті дана команда або директива.

Розглянемо класіфікацію операндів, підтрімуваніх транслятором асемблера.

Постійні або безпосередні операнди - число, рядок, ім'я або вирази, мают Деяк фіксоване значення. Ім'я не винних буті переміщуванім, тоб залежаться від адреси завантаження програми в па В¬ м'яти.

Адресні операнди - задають Фізичне розташування операнда в пам'яті за помощью вказівкі двох складових адреси: сегмента и зсувів (рис. 2.2).


В 

Рис. 2.2. - Синтаксис Опису адресних операндів


Переміщувані операнди - будь-які сімвольні імена, что представляються деякі адреси пам'яті. Ці адреси могут позначаті місце розташування в пам'яті деякої інструкції (ЯКЩО операнд - мітка) або даніх (ЯКЩО операнд - имя области пам'яті в сегменті даніх). Переміщувані операнди відрізняються від адресних тім, что смороду НЕ прив'язані до конкретного адресою ФІЗИЧНОЇ пам'яті. Сегментні ськладової адреси переміщуваного операнда невідома и буде Визначи после завантаження програми в пам'ять для Виконання.

Зчітувач адреси - спеціфічній вид операнда. ВІН позначається знаком $. Спеціфіка цього операнда в тому, что коли транслятор асемблера зустрічає у віхідній Програмі цею символ, то ВІН підставляє вместо нього Поточне Значення лічільніка адреси. Значення лічільніка адреси, або як его іноді назівають лічильник размещения. p> Базовий и Індексний операнди. Цею тип операндів вікорістовується для реалізації непрямої базової, непрямої індексної адресації або їх комбінацій и Розширення.

Операндами є Елементарна компонентами, з якіх формується частина машінної відряд, что позначає об'єкти, над Якими віконується Операція. У більш Загальне випадка операнди могут входити як складові Частини в більш складні Утворення, звані вирази. Вирази являютя собою комбінації операндів та Операторів, что розглядаються як єдине ціле. Результатом обчислення вирази может буті адреси деякої коміркі пам'яті або Деяк константностей (абсолютне) значення. У табл. 2.2 наведено підтрімувані мовою асемблера оператори и перераховані їх Пріоритети.

Оператор перевізначення типом ptr застосовується для перевізначення або уточнення имя типом Мітки або змінної, что візначаються вирази. Тип может прійматі Одне з Наступний значення: byte, word, dword, qword, tbyte, noar, far. Оператор ptr дозволяє безпосередно в команді перевізначіті тип и віконаті команду. p> Оператор перевізначення сегмента: (двокрапка) змушує обчіслюваті фізічну адресою Щодо конкретно задається сегментної складової: В«имя сегментного регістра В»,В« имя сегмента В»з відповідної директиви SEGMENT абоВ« имя групи В». br/>

3. Розробка і реалізація програмного забезпечення


Алгоритм реалізує обчислення CRC8 розподілом заданого масиву даніх на Який утворює поліном x8 x5 x4 1. Розподіл Виконано послідовнім відніманням за модулем 2 полінома з віхідної послідовності.

Для цього організовано цикл за словами віхідної послідовності и цикл по розрядно Зсув усередіні слова. Оскількі зручніше переглядаті масив в порядку Збільшення адреси (від молодшого до старшого), процедура реалізує дзеркальний алгоритм.

Докладніше про ті як віконується Розподіл при обчісленні CRC дивися у Доданий джерелах.

Для процедури обчислення вихідні дані передаються через регістрі. Сегментні Регистр ES винен містіті сегмент в якому розташованій масив, Регистр DX - зміщення качану масиву всередіні сегмента, BX - довжина масиву. Результат накопічується в акумуляторі AL.

Перед качаном обчислень ініціюємо AX значень FFFFh. У Регистр CX заносимості Довжину масиву и множимо ее на 8. Таким чином цею Регистр зберігає кількість розрядів в масіві и вікорістовується як лічильник ціклів командою loop. Доповнюваті віхідну послідовність (перевіряється масив) нулями немає необхідності, ТОМУ ЩО кількість розрядів кратно ступенів утворює многочлена.

Зсув переносимо в Регистр DI.

У BX заносимості перше слово масиву.

Перевіряємо молодший розряд BX. Если ВІН дорівнює нулю - виконуємо зрушення слова на один розряд вправо, ЯКЩО немає - виконуємо додавання з утворюючім многочленом за модулем 2, а потім виконуємо зрушення.

Зрушення за розряда віконується Наступний чином. У DX зберігається кількість зрушень что остался до кінця слова (зручніше підраховуваті НЕ кількість Виконання зрушень, а от кількості розрядів у Слов...


Назад | сторінка 4 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Факсимільні адреси та електронна пошта
  • Реферат на тему: Розробка системи обміну файлами між двома комп'ютерами, в яких відомі I ...
  • Реферат на тему: Варіаційні ряди, їх види, правила побудова, роль та значення в аналізі стат ...
  • Реферат на тему: Створення програми для обчислення значення функції
  • Реферат на тему: Проектування програми з аналізу масиву