- •Міністерство освіти і науки України
- •Модуль 1: арифметичні і логічні основи еом
- •1.1 Термінологія одиниць вимірювання
- •1.2 Аналогові та цифрові системи
- •1.3 Логічні булеві вентилі
- •1.4 Системи числення
- •Десяткова система важка для технічної реалізації. Елементи з 10 стійкими станами ( на основі сегнетокераміки, декатрони і т.Д.) мають невисоку швидкість переключення.
- •1.5 Десяткова та двійкова системи числення
- •1.6 Десятково-двійкова конвертація
- •1.7 Шістнадцяткова система числення
- •1.8 Конвертація з двійкової до шістнадцяткової системи числення
- •1.9 Конвертація з шістнадцяткової до двійкової системи числення
- •1.10 Конвертація у систему числення з будь яким базисом
- •1.11 Прямий, зворотний і додатковий коди
- •Нуль у додатковому коді має одне представлення
- •Правила виконання додавання двійкових чисел
- •1.12 Ознака переповнення розрядної сітки
- •1.13 Лабораторна робота 1
- •Порядок виконання:
- •1.14 Питання з підготовки до модульного контролю
- •Модуль 2: класична структура еом
- •2.1 Комп’ютерні системи і програми
- •2.2 Типи комп’ютерів
- •2.3 З’єднання комп’ютерних систем
- •2.4 Поява Internet
- •2.5 Вартість технологій
- •2.6 Основні пристрої еом.
- •2.7 Структурна схема еом.
- •2.8 Структура і типи команд.
- •2.9 14 Регістрів мікропроцесора Intel 8086
- •Сегментні регістри
- •Регістри зсуву
- •Регістр прапорів
- •2.10 Лабораторна робота 2
- •Порядок виконання:
- •Короткі теоретичні зведення Операційна система ms-dos
- •Ім'я команди перемикачі параметри
- •Команди загального призначення.
- •6) Форматування дисків.
- •Format дисковод: [/1] [/4] [/8] [t:доріжки] [n:сектора] [/V][/s]
- •Каталоги
- •Робота з каталогами:
- •Робота з файлами.
- •1) Створення файлів
- •1 File(s) copied ( 1 файл скопійований )
- •2) Видалення файлів.
- •3) Перейменування файлів.
- •4) Копіювання файлів
- •5) Відображення умісту файлу на екрані.
- •6) Порівняння файлів.
- •7) Пошук
- •2.11 Лабораторна робота 3
- •Порядок виконання:
- •Утиліта налагоджувача debug.
- •2.12 Лабораторна робота 4 Тема: Команди зсуву та циклічного зсуву Зміст завдання
- •Теоретичні відомості до виконання лабораторної роботи
- •Команди циклічного зсуву
- •2.13 Питання з підготовки до модульного контролю
- •3.2 Типи запам'ятовуючих елементів озп
- •3.3 Організація основної пам'яті еом - стекова пам’ять
- •3.5 Лабораторна робота № 5
- •Порядок виконання:
- •Теоретичні зведення до виконання лабораторної роботи №5 Пересилка даних
- •3.6 Питання з підготовки до модульного контролю
- •Модуль 4. Організація систем переривання програм
- •4.1 Стан процесора. Вектор стану
- •4.2 Принципи організації систем переривання програм
- •4.3 Організація переходу до програми оброблення переривання
- •4.4 Пріоритети
- •4.5 Лабораторна робота 6 Тема: Стек і його використання для виклику процедур
- •Порядок виконання.
- •Зміст завдання:
- •Короткий опис команд мови assembler, що використовуються в лабораторній роботі 6
- •Короткий перелік основних команд утиліти налагоджувача debug, що використовується у лабораторній роботі 5
- •4.6 Еволюція операційних систем
- •4.7 Архітектура операційних систем
- •4.8 Координація дій машини
- •4.9 Питання з підготовки до модульного контролю
- •Віддруковано друкарнею
- •69006, М. Запоріжжя, пр. Леніна, 226
Порядок виконання.
-
Ознайомитися з командами, які будуть використані при проведенні лабораторної роботи
-
Ознайомитися з використанням стека під час виклику процедур.
-
Вивчити систему переривань програм IBM PC і порядок використання стека при переході до програми обробки переривання.
Зміст завдання:
а) Введіть наступну послідовність інструкцій, починаючи з адреси CS:0100
CS:0100 MOV AX,0222 CS:0103 MOV BX,0555 CS:0106 CALL 0200 CS:0109 MOV DX,AX
і починаючи з адреси CS:0200
CS:0200 ADD AX,BX CS:0202 RET
Переконайтеся в тому, що регістр IP містить 0100h і зазначену вище послідовність команд.
Відзначте порядок і результати виконання кожної команди. Зверніть особливу увагу на регістри SS і SP, CS і IP. Зафіксуйте вміст стека до і після виконання інструкцій CALL і RET (скільки байт заноситься в стек і скільки витягується), користуючись командою перегляду дампу пам’яті. Поясніть для чого використовується стек в даному випадку.
б) Прочитайте вектор переривання 21h, використовуючи команду для перегляду дампу пам'яті.
Введіть наступні команди починаючи з адреси CS:100
CS:0100 MOV DL,41 CS:0102 MOV AH,02 CS:0104 INT 21h CS:0106 SHR AH,1
Протрасуйте цю послідовність команд і відзначте вміст регістрів SS і SP, CS і IP до виконання команди INT і після . Зафіксуйте зміни вмісту стека (кількість занесених байт і їх значення). Для чого використовується в даному випадку стек? Значення яких регістрів були занесені в стек і для чого? Після виконання цього пункту завдання здійсніть вихід з налагоджувача DEBUG.
в) Введіть наступні інструкції починаючи з адреси CS:0100
CS:0100 MOV CX,0004 CS:0103 MOV BX,A3C5 CS:0106 RCL BX,1 CS:0108 PUSH BX CS:0109 LOOP 0106 CS:010B MOV CX,0004 CS:010E POP AX CS:010F LOOP 010E
Протрасуйте цю послідовність команд. Зверніть увагу на зміну вмісту регістра CX при виконанні команди LOOP. Для чого в даному випадку використовується цей регістр? Коли закінчується цикл? Фіксуйте стан стека до і після виконання команд PUSH і POP. Для перегляду вмісту стека використовуйте команду перегляду дампу пам'яті.
Зміст звіту.
-
Тема і мета лабораторної роботи.
-
По кожному пункту завдання відобразити: а) структуру всіх команд, що використані в процесі виконання цього пункту завдання; б) результати виконання кожної команди, значення регістрів, на які потрібно було звернути увагу.
Короткий опис команд мови assembler, що використовуються в лабораторній роботі 6
-
Організація циклів Для цього в лабораторній роботі використовується команда LOOP. Формат цієї команди LOOP адреса В регістрі CX заздалегідь слід вказати число повторень в циклі. При виконанні цієї команди вміст регістра CX автоматично зменшується на 1. Поки значення в CX не зрівняється нулю, управління передається за вказаною в команді адресою. Якщо значення в регістрі CX стає рівним нулю, то виконується наступна після LOOP команда.
-
Пересилка даних Команда MOV приймач, джерело пересилає слово або байт з джерела в приймач. Наприклад: MOV BX,AX пересилає 2 байти з регістра AX в регістр BX MOV DX,1234 пересилає число 1234 в регістр DX
-
Занесення слова в стек Для цієї мети використовується команда PUSH Формат команди PUSH им'я_регістра Ця команда зберігає значення слова із вказаного регістра в стеку для подальшого використання. Команда зменшує значення в регістрі SP на 2 і передає слово із вказаного регістра в нову вершину стека.
-
Витягання слова із стека. Проводиться за допомогою команди POP им'я_регістра Ця команда передає слово із стека у вказаний регістр. Слово витягується із стека і значення в регістрі SP збільшується на 2
-
Виклики процедур. Процедури - це список інструкцій, які можна викликати з різних місць програми. Виклик процедур здійснюється командою CALL. Формат цієї команди CALL адреса Наприклад CALL 0200 викликає процедуру, почало якій розташовано в елементі пам'яті CS:0200. При цьому в стеку зберігається адреса повернення - вона показує, до якої інструкції повернутися після виконання процедури, а в регістр IP завантажується значення 0200. Даний приклад ілюструє внутрішньосегментний виклик процедури - NEAR (близький). Процедура закінчується командою RET, яка виконує повернення в попередню програму. При цьому адреса повернення завантажується із стека в регістр IP.
-
Крім того існують міжсегментні виклики процедур FAR (дальній). В цьому випадку адреса повернення має наступний вигляд: SP --> IP (зсув інструкції, що записана за CALL ) CS (значення сегменту кодів попередньої програми)
-
Під час виклику процедури обробки переривання ( INT )в стек також завантажуються значення регістра прапорів. У регістри CS і IP завантажується адреса першої команди підпрограми, що оброблює це переривання. Ця адреса зберігається в таблиці векторів переривань. Кожен вектор займає 4 байти. Тому розташування вектора можна порахувати виходячи з його номера (номер *4). Прочитати вектор переривання можна командою перегляду пам'яті -D 0000:номер*4
-
Адреса вершини стека зберігається в парі регістрів SS і SP.
-
Команда додавання Наприклад ADD AX,BX Вміст регістрів AX і BX складається і результат розміщується в регістрі AX