Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Основи програмування на мові асемблер та знайомство з програмним забезпеченням для виконання лабораторних робітСодержание книги
Поиск на нашем сайте
Мета роботи: Знайомство з структурою персонального комп’ютера та основами програмування на мові асемблера. Студенту треба навчитися працювати з програмою-транслятором Turbo-Assembler (TASM) та з засобами для відлагодження асемблерних програм AFD та TD. Необхідні знання та практичні навички: Знання структури мікропроцесорів сімейства Intel 80х86 [2,4,5,12] та основ програмування на мові асемблер [1,4]. Вміння працювати з інтерфейсом типу Turbo-Vision [7-9]. Студентам обов’язково треба відновити свої знання з таких розділів: · “Поняття про системи числення.” · “Арифметичні дії над числами при їх представлені у двійковій, вісімковій та шістнадцятирічній системах.” · “Переведення чисел з однієї системи числення до іншої.”
Теоретичні відомості Особливості архітектури мікропроцесора типу Intel 80х86 Найважливішою особливістю комп'ютерних систем на основі мікропроцесорів (МП) типу Intel 8086 є сегментна організація пам'яті. Сегментом називається область пам'яті, що починається з адреси, кратної 16, і містить дані однієї структури. Загалом це можуть бути: · інструкція для МП, або коди команд; · дані користувача; · адреси повернення з підпрограм. Таким чином, відрізняють три головних сегмента програми, яким відповідають сегментні регістри процесора типу INTEL 8086: · CS (code segment, тобто сегмент інструкцій програми); · DS (data segment, тобто сегмент даних, які визначені користувачем); · SS (stack segment, тобто сегмент стеку). Як вам відомо [1], стеком називається область пам'яті ЕОМ, яка відрізняється організацією доступу до даних, які поступають до стека за принципом «останній ввійшов – перший вийшов». Більш досконало про стекову організацію пам'яті та про програмування стека на апаратному рівні ви дізнаєтесь з теоретичних відомостей до лабораторної роботи №2. У мікропроцесорі Intel 8086 існує також розширений сегмент ES (extend segment), який ефективно використовується при роботі з рядковими даними. Більш досконало про можливості використання цього сегменту при програмуванні ви дізнаєтесь з відповідного розділу теоретичних відомостей до лабораторної роботи №4. В програмі, яку обробляє ЕОМ, всі адреси прив'язанні до початку сегмента. Таким чином, адреса осередку пам'яті, до якого звертається процесор, немов би складається з двох частин: старші розряди – адреса сегменту, молодші – адреса зміщення. Головні регістри МП Intel 8086 та їх призначення Сегментні регістри CS, DS, SS, ES. Регістри-вказівники (РВ) IP (interrupt point) – адреса, за якою на даний час припинено виконання програми, або лічильник команд. Таким чином, повна адреса, за якою розташований код команди, що виконується, може бути записана таким чином: CS:IP. DI (data interrupt) – відносна адреса, за якою розташована змінна користувача, що використовується програмою на даний час. Таким чином, повна адреса, за якою розташовані дані користувача, може бути записана таким чином: DS:DI. Слід відзначити, що регістр DI використовується також в парі з сегментним регістром ES. SP (stack pointer)– вказівник стека. Вказує на відносну адресу останньої змінної, що була завантажена до стека. При виконанні команди «вивантажити змінну зі стека» буде вивантажена саме ця змінна. SI та DI – індексні регістри. Обидва цих регістра можуть бути використані для розширеної адресації та для реалізації арифметичних операцій складання та віднімання. Але головне їх призначення – робота з рядковими даними. При цьому індексний регістр DI пов'язаний з сегментним регістром DS, а індексний регістр SI - з сегментним регістром ES. Більш досконало про операції обробки рядкових даних у мові асемблера можна прочитати в описі лабораторної роботи №4. Регістри загального призначення (РЗП) та їхні функції Акумулятор (АХ) Акумулятор є головним з регістрів загального призначення. Навіть ті команди процесора, які можуть бути виконані за допомогою інших регістрів, при використанні акумулятора виконуються значно швидше. Цей регістр безпосередньо зв'язаний з арифметико-логічним пристроєм (АЛП) мікропроцесора, який реалізує виконання команд програми на апаратному рівні. Як і всі регістри процесора Intel 8086, акумулятор має 16 розрядів і звертатись до нього на програмному рівні можна через абревіатуру АХ. Можна також заносити числа лише до восьми молодших розрядів акумулятора, звертаючись до них через абревіатуру AL, або до восьми старших, звертаючись до них через абревіатуру АН. Таке ж саме правило діє при звертанні до інших регістрів загального призначення, які будуть розглядатися далі. Головні функції, які виконуються за допомогою акумулятора у мікропроцесорній системі: · всі арифметичні операції; · всі логічні операції; · всі операції введення/виведення даних; · операції над рядками. Базовий регістр (BX) Регістр загального призначення BX є базовим регістром. Це єдиний регістр загального призначення, вміст якого може розглядатися як посилання на відповідну комірку пам'яті при розширеній адресації. Також може бути використаний разом з акумулятором для арифметичних та логічних операцій та проведення обчислень. Регістр-лічильник (СХ) Регістр загального призначення СХ – це регістр-лічильник, який є необхідним для керування числом повторень у циклах та при операціях зсування двійкових чисел. Також може бути використаний для арифметичних та логічних операцій та для проведення обчислень. Регістр даних (DX) Регістр загального призначення DX – це регістр даних, який застосовується для їх введення та виведення, для обчислень з подвійною точністю, або для операцій над великими числами при недостатній розрядності регістру АХ. Цей регістр також використовується як додатковий при множенні та діленні цілих чисел. Регістр прапорів, або регістр стану (РС) Дев'ять з 16 біт регістра стану процесора Intel 8086 є активними та визначають стан процесора після виконання останньої команди. Більшість арифметичних та логічних команд, а також команди зрівняння даних змінюють значення прапорів регістра стану. Прапори регістра стану та їх призначення наведені у таблиці 1, а їх побітове розташування у комірках регістра – у таблиці 2: Таблиця 1. Призначення прапорів регістра стану
Завдання для перевірки №1: Порівняйте поняття парності у звичайній та двійковій арифметиці. Наприклад, чи є парним число 3 з точки зору теорії інформації? Наведіть інші приклади парних та непарних чисел. Таблиця 2. Розташування бітів регістра стану мікропроцесора Intel 8086
* - біт у процесорі Intel 8086 не задіяний.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 353; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.26.149 (0.011 с.) |