ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Лабораторні роботи з системного ПО
         

     

    Інформатика, програмування

    СИСТЕМНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ
    Методичні вказівки до лабораторного практикуму для студентів усіх форм навчання спеціальності ???

    1998р.

    Лабораторна робота № 1.
    Вивчення архітектури ЕОМ . Машинне виконання, Вимоги мови Асемблер.

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

    Загальні відомості.

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

    Машинні коди мають різну довжину: 1,2 або 3 байти. Машинні командизнаходяться в пам'яті безпосередньо один за одним. Основний форматкодування команд Асемблера має такий вигляд:

    [позначка] команда [операнди]

    Мітка (якщо є), команда і операнд (якщо є) поділяється, попринаймні, одним пропуском або символом табуляція.

    З метою стандартизації в мікрокомп'ютерах використовується стандартнийамериканський код для обміну інформацією ASCII.

    Зміст завдання.

    1. Є команда:

    ECS: 100 B8 04 30 05 00 30 СВ

    Що робить ця програма?

    2. Напишіть програму, яка виконує наступну операцію:

    • Пересилання значення 25Н в регістрі AL

    • Зсув вмісту регістра AL на 1 біт вліво

    • Пересилання значення 15Н в регістр BL

    • Множення вмісту регістра AL на вміст регістру BL

    3. Для сегментів коду, даних і стека дані імена CDSEA, DATSEA і STKSEAвідповідно. Сформуйте директиву ASSUME.

    Лабораторна робота № 2

    Логіка та організація програми

    Мета роботи: розкрити механізм передачі управління в програмі (цикли іпереходи) для логічних порівнянь і програмної організації.

    Загальні відомості.

    Більшість програм містять ряд циклів, в яких кілька командповторюються до досягнення певного вимоги, і різні перевірки,визначають, які з кількох дій слід виконувати. Ці діївключають управління за адресою команди, яка не знаходиться безпосередньоза що виконується в поточний момент командою. Передача управління можездійснюватися вперед для виконання нової групи команд або назад дляповторення вже виконаних команд.

    Деякі команди можуть передавати управління, змінюючи нормальнупослідовність кроків безпосередній модифікацією значення зміщення вкомандному покажчику.

    Одна з команд, що використовуються для передачі управління - команда JMP. Цякоманда виконує безумовний перехід, тобто забезпечує передачууправління при будь-яких обставин. Приклад оформлення команди

    JMP A20,

    Команда вказує на те, що управління має бути передана команді зміткою A20. Для виконання певної кількості циклів використовуєтьсякоманда LOOP. У кожному циклі команда LOOP автоматично зменшуєвміст регістра СХ на 1. Поки значення в СХ не дорівнює 0, управлінняпередається на адресу, вказану в операнд, і якщо в СХ буде 0,управління переходить на наступну після LOOP команду. Приклад оформленнякоманди:

    LOOP A20.

    Для передачі управління підпрограмі використовується команда CALL XXX,наприклад

    CALL A20.

    У результаті дії команди CALL управління передається процедурою A20і починається її виконання. Досягнувши команди RET, управління передається накоманду, безпосередньо наступну за CALL A20.

    Зміст завдання.

    1. Напишіть програму для обчислення 12 чисел Фібоначчі:

    1,1,2,3,5,8,13 ,...( кожне число в послідовності являє собоюсуму двох попередніх чисел). Для організації циклу використовуйте команду
    LOOP.

    2. Напишіть програму для обчислення суму перших 15 непарних чисел
    Фібоначчі з першими 5 парними числами Фібоначчі. Суми повинні обчислюватися впідпрограма.

    Лабораторна робота. № 3

    Вивчення екранних операцій

    Мета роботи: Пояснити вимоги для виведення інформації на екран, атакож для введення даних з клавіатури.

    Загальні відомості.

    Дані, призначені для виведення на екран і введення з клавіатури, мають
    ASCII - формат. Для виконання введення та виведення використовується команда INT,що припиняє обробку програми, передає управління в DOS або BIOSдля певної дії, а потім повертає керування в перерванупрограму для продовження обробки. Є два типи переривань: команда
    BIOS INT 10Н і команда DOS INT 21H.

    Команда INT 10Н включає встановлення курсору в будь-яку позицію іочищення екрана. Нижче наведені приклади установки курсору на S - й рядок і
    12 стовпець.

    MOV AN, 02; запит на встановлення курсору

    MOV ВН, 00; екран 0

    MOV DH, 05; рядок 05

    MOV DL, 12; стовпець 12

    INT 10Н; передача у правління в BIOS

    І очищення всього екрану

    MOV АН, 0600; АН 06 (прокрутка) AL 00 (весь екран)

    MOV BH, 07; стандартний атрибут

    MOV СХ, 0000; верхня ліва позиція

    MOV DX, 184FH ; нижня права позиція

    INT 10H; передача управління в BIOS

    Значення 02 в регістрі АН вказує команді INT 10Н на виконанняоперації установки курсору. Значення 06 в регістрі АН вказує навиконання операції очищення екрана.

    Виведення на екран в DOS вимагає визначення текстового повідомлення в областіданих, установки в регістрі АН значення 09 і вказівки команди DOS INT 21H.
    У процесі виконання операції кінець повідомлення визначається за обмежувачу
    ($), Як показано нижче:

    INT 10H DB 'ім'я студента?','$'

    .

    .

    MOV AN, 09; запит виводу на екран

    LEA DX, INT 10Н; завантаження адреси зі спілкування

    INT 21H; виклик DOS

    Для введення даних з клавіатури , область вводу вимагає наявності спискупараметрів, що містить специфікацію полів, які необхідні привиконанні команди INT: максимальна довжина тексту, що вводиться; поле, кудикоманда повертає дійсну довжину введеного тексту в байтах. Длязапиту на уведення необхідно помістити в регістр АН номер функції - 10 (OAH),завантажити адресу списку параметрів в регістр DX та виконати INT 21H.

    Зміст завдання.

    1. Напишіть програму виведення на екран набору символів ASCII - коду.

    2. Напишіть програму, де запитується введіть ім'я, а потім відображає всередині екрана введене ім'я.

    Лабораторна робота № 4

    Вивчення команд обробки рядків

    Мета роботи: Пояснити призначення спеціальних цепочечних команд,використовуються для обробки спеціальних символьних даних.

    Загальні відомості.

    Для обробки рядкових даних асемблер має п'ять команд обробкирядків:

    MOVS - переслати один байт або одне слово з однієї області пам'яті віншу;

    LODS - завантажити з пам'яті один байт в регістр AL або одне слово врегістр АХ;

    STOS - записати вміст регістру AL або АХ в пам'ять;

    CMPS - порівняти вміст двох областей пам'яті розміром в один байтабо в одне слово;

    SCAS - порівняти вміст регістру AL або АХ з вмістом пам'яті.

    Префікс REP дозволяє цим командам обробляти рядки будь-якої довжини.
    Префікс кодується безпосередньо перед цепочечной командою, наприклад REP
    MOVS В. Для використання префікса REP необхідно встановити початковезначення в регістрі СХ. При виконанні цепочечной команди з префіксом REPвідбувається зменшення на одне значення в регістрі СХ до 0. Таким чином,можна обробляти рядки будь-якої довжини. У наступному прикладі виконуєтьсяпересилання 20 байт з STRING1 в STRING2. Припустимо, що обидва регістра DS і
    ES ініціалізований адресою сегменту даних:

    STRING1 DB 20DUP ('*')

    STRING2 DB 20DUP (")

    ... ...

    CLD; скидання файлу DF

    MOV СХ, 20; лічильник на 20 байт

    LEA DI, STRING2; адреса "куди"

    LEA SI, STRING1; адреса "звідки"

    REP MOVSB; переслати дані

    Для команди LODS адреса пам'яті визначається регістрами DS: SI. УЗалежно від значення прапора DF відбувається збільшення або зменшеннязначення в регістрі SI. Оскільки одна команда STOS також збільшує абозменшує адреса в регістрі DI на 1 для байти або на два для слова.
    Практична користь команди STOS з префіксом REP-ініціалізація областіданих конкретним значенням. Довжина області (в байтах або словах)завантажується в регістр СХ. Команда CMPS порівнює вміст однієї областіпам'яті (адресується регістрами DS: SI) з вмістом іншій області (адресується регістрами ES: DI). Залежно від прапора DF команда CMPSтакож збільшує або зменшує адреса в регістрах SI і DI на 1 для байтиабо на два для слова. При використанні префікса REP в регістрі СХ маєзнаходиться значення довжини порівнюваних полів. Команда CMPS може порівнюватибудь-яке число байтів або слів.

    Розглянемо процес порівняння двох рядків містять їх імена Jean і
    JOAN. Порівняння побайтово зліва направо призводить до наступного

    J: J одно

    Е: 0 Не дорівнює (Е

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status