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

Реферат Розробка програми на Асемблері





и великому обсязі пам'яті більшим буде і розмір фізичних адрес, а це веде до збільшення довжини команд і до збільшення розміру програм в цілому. Це погано. Щоб скоротити розміри команд, поступають таким чином.

Пам'ять умовно ділять на ділянки, які прийнято називати сегментами. Початкові адреси сегментів можуть бути будь-якими, але на довжину сегментів накладається обмеження: розмір будь-якого сегменту не повинен перевищувати 64Кб. p> У цих умовах фізичну адресу А будь-якої комірки пам'яті можна представити у вигляді суми A = B + ofs, де В - адреса сегменту, а ofs - зміщення щодо адреси В.

Таким чином, якщо в команді треба вказати фізичну адресу А, то адреса сегмента B - "ховаємо" в так званий сегментний регістр, а в команді вказуємо лише цей регістр і доданок ofs. Це дає економію розміру команд.

У зв'язку з цим максимальний обсяг сегмента дорівнює 64Кб, а мінімальний дорівнює 16 байтам.

Процедура тесту пам'яті реалізована за допомогою вкладеного циклу. Перший цикл збільшує на одиницю модифікаційний регістр BP до тих пір, поки BP менше 0A000h (це останній сегмент 640 Кб). Усередині цього циклу реалізований ще один цикл - він збільшує на одиницю модифікаційний регістр SI до тих пір, поки він менше 16. Всередині вкладеного циклу здійснюється безпосередньо перевірка пам'яті на несправні біти: спочатку відбувається перевірка на В«постійні одиниціВ» - В сегмент за адресою BP із зсувом SI записується нуль (що в двійковій системі числення означає вісім нулів), потім здійснюється перевірка цього значення, тобто нуля. Якщо це значення дорівнює нулю, значить пам'ять справна, в іншому випадку - не справна. Потім відбувається перевірка на В«постійні нуліВ»: за тією ж адресою записується число FFh (що в двійковій системі числення означає вісім одиниць), потім здійснюється перевірка цього значення. Якщо значення дорівнює FFh, значить пам'ять справна, в іншому випадку - несправна.



2.4. Налагодження і тестування



Тестування проводилося з допомогою відладчика Turbo Debugger корпорації Borland. Була виконана трасування всієї програми. Трасування - це процес покрокового виконання команд з лістингом станів всіх регістрів, прапорів, сегменту даних на момент виконання кожної команди. p> У ході трасування були виявлені такі помилки:

неправильне визначення стану математичного співпроцесора - неправильно зазначена маска очищення, так званого слова В«equpment listВ», одержуваного з допомогою переривання 11h;

"зависання" при виклику процедури TestMem - помилка в реалізації алгоритму тесту пам'яті - неправильно вказана мітка переходу у вкладеному циклі. p> Крім того, було виявлено безліч помилок в синтаксисі команд. p> Так як програма писалася на одному комп'ютері, перевірити її на правильність визначення конфігурації ПК не представлялося можливим, тому, після завершення програми, вона виконувалася на різних ПК з різними кон...


Назад | сторінка 18 з 39 | Наступна сторінка





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

  • Реферат на тему: Система команд. Структура слова команд. Синтаксис команд. Групи команд
  • Реферат на тему: Розробка структури гіпотетичного мікропроцесора і центральній частині МЕОМ ...
  • Реферат на тему: Принципи організації паралелізму виконання машинних команд в процесорах
  • Реферат на тему: Перевірка гіпотези про незалежність логарифмічною прибутковості за різні ін ...
  • Реферат на тему: Калібрування п'єзорезистивного датчика абсолютного тиску KPY - 43A № 03 ...