Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Краткие теоретические сведения. 1. Дайте определение прерываниям и приведите классификацию;

Читайте также:
  1. I. Общие сведения о больном
  2. I. Общие сведения о больном
  3. I. Теоретические аспекты управления качеством медицинской помощи.
  4. I. Теоретические основы изучения туристских информационных систем как новой модели туристского бизнеса
  5. II. Общие сведения о горных породах
  6. IV. Краткие данные о философах и их основных идеях
  7. А) Знакомство с краткими биографическими сведениями
  8. Абсорбция. Общие сведения и области его применения.
  9. В заключении работы излагаются краткие выводы по теме, характеризуется степень ее раскрытия, определяется, достигнута ли цель и задачи работы.
  10. ВВЕДЕНИЕ И НЕКОТОРЫЕ ТЕОРЕТИЧЕСКИЕ ОСНОВЫ

1. Дайте определение прерываниям и приведите классификацию;

2. Расскажите про последовательность действий при организации синхронного прерывания по команде int;

3. Что такое контроллер прерываний и для чего он используется?

4. Что собой представляет BIOS и для чего он необходим в компьютере?

5. Назовите 3 любых функции прерывания BIOS 10h и поясните принцип их работы;

6. Как в процессоре I8086 запретить обработку аппаратных прерываний? Что такое маскируемое и немаскируемое прерывание?

7. С помощью каких команд происходит сохранение и восстановление данных в стек во время прерывания и для чего это делается?

8. Какие прерывания BIOS существуют помимо прерываний 10h. Назовите 5 и поясните их предназначение;

9. Что такое IRQ? Дайте расшифровку понятия и поясните назначение.

10. Что такое таблица векторов прерываний? Где она располагается у процессора I8086?

 

 

Работа с 32-х разрядной архитектурой x86.

Использование библиотек DLL. Интерфейс с ОС Windows

Цель работы

Освоить технологию написания и отладки программ на Ассемблере под ОС Windows. Получить навыки программирования и использования библиотек DLL. Понять особенности 32-х разрядной архитектуры процессора Intel.

Краткие теоретические сведения

Модели памятив процессорной архитектуре x86 определяют способ размещения программного кода, данных и стека в оперативной памяти при ассемблировании. Изначально, в процессоре Intel 8086 был реализован сегментный способ организации кода, данных и стека. Модель памяти в этом способе должна была однозначно определить количество используемых сегментов, их расположение, перекрытие и т. п. Помимо этого модель памяти определяла размерности и свойства переменных и предопределенных значений в программе (например, тип процедур NEAR или FAR).

В ассемблерных программах модель памяти может задаваться по умолчанию и определяться компилятором автоматически в зависимости от числа используемых сегментов. Тем не менее, программист может самостоятельно задавать модель памяти с помощью директивы .MODEL, располагаемой в начале файла с программой. Это позволяет использовать необходимые для выполнения программы формы описания сегментов.

Общий вид директивы: .MODEL {тип}, где {тип} для процессоров с сегментной организацией памяти может принимать одно из следующих значений:

a) TINY – данные и код занимают один сегмент, т.е. регистры CS, DS и SS имеют одно и то же значение. Это наиболее компактный вариант программы, занимающий £64КБ памяти, все переходы в программе типа NEAR;

b) SMALL – сегмент кода отделен от сегментов данных и стека, а последние объединены в одну группу, т. е. DS и SS имеют одно и то же значение; наиболее распространенная модель памяти, все переходы в такой программе типа NEAR;

c) COMPACT – используется один сегмент кода и несколько сегментов данных, все переходы типа NEAR, а обращение к данным происходит с указанием сегментного регистра. Сегменты данных и стека объединены в одну группу;

d) MEDIUM – несколько сегментов кодов и общий сегмент данных со стеком, доступ к процедурам типа FAR, а при обращении к данным указывается только смещение;

e) LARGE – несколько сегментов кодов и данных, вся адресация происходит с указанием сегментных регистров;

f) HUGE – аналогичен LARGE, но предназначен для совмещения с программами на языках высокого уровня. В этой модели разрешается работа с данными, занимающими >64КБ памяти.

g) FLAT – плоская модель памяти, где код, данные и стек используют одно и то же адресное пространство. Для 16-битных процессоров плоская модель памяти позволяет адресовать 64 кБ оперативной памяти; для 32-битных процессоров 4 ГБ, для 64-битных — гипотетически до 16 эксабайт, фактически до 256 ТБ.

Особенности 32-х разрядной процессорной архитектуры Intel. Начиная с Intel 80386 DX, процессорная архитектура x86 была расширена до 32 бит. Все регистры (за исключением сегментных) стали 32-битными, получив в названии дополнительный префикс «E» (от англ. Extended – расширенный): EAX, EBX, ECX, EDX, EIP, ESI, EDI, EFLAGS и др. Набор команд 16-ти разрядной архитектуры x86 для совместимости был полностью сохранен. При этом, в дополнение к ним было добавлено несколько команд с постфиксом «D» (от англ. Double – двойной), работающих с расширенным до 32 разрядов форматом данных: MOVSD, POPAD, SHRD и др.

В 32-х разрядной архитектуре стала возможной адресация большего объема памяти и многозадачность. Для сохранения совместимости с предшествующей 16-ти разрядной архитектурой в процессорах нового поколения был реализован защищенный режим, эмулирующий архитектуру процессора 8086 и позволяющий выполнять написанные под неё программы, в т. ч. с использованием прерываний BIOS и DOS.

Загрузка...

Динамически подключаемые библиотеки (DLL). В операционных системах семейства Windows под DLL (англ. Dynamic-Link Library) понимается динамически загружаемая в память библиотека, позволяющая своё многократное использование различными программными приложениями. В формате DLL реализуют, например, базовые функции Windows API, а также драйверы устройств. В операционных системах UNIX аналогичные DLL функции выполняют так называемые общие объекты (англ. Shared Objects).

Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов (например, *.exe), сочетая код, таблицы и ресурсы, отличаясь лишь интерпретацией некоторых полей. Использование DLL в определенных случаях позволяет более эффективно организовать оперативную память и дисковое пространство компьютера, используя только один экземпляр библиотечного модуля для различных приложений. Помимо этого, DLL реализует в ОС Windows принцип программной модульности и возможность совместного использования программных библиотек приложениями независимо от языка их разработки.

Пример программы с DLL.Написать программу на языке Си, вычисляющую сумму двух целых чисел посредством DLL-библиотеки, реализованной на Ассемблере. Ввод слагаемых осуществить через командную строку при запуске исполняемого файла программы.

 


Дата добавления: 2014-12-19; просмотров: 4 | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2019 год. (0.017 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав