можно собрать макросы в отдельную библиотеку и писать программы, используя имена макросов в библиотеке.




 

20) см.8

 

21)

 

22)

 

23) Организация памяти. Формирование эффективного адреса в реальном режиме и в защищенном режиме.

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

Адресация – это способ доступа к операндам команд.

Бывает семь способов адресации:

- регистровый, когда данные находятся в регистрах указанных в командах.

- непосредственное, когда значение данных содержатся в самой команде.

- прямая адресация – операндом служит метка, указывающая на ячейку памяти, где лежат данные.

- косвенная адресация – операнд содержится в регистрах, которые указывают на какие – либо ячейки памяти. Регистр заключается в [ ].

- базовая – исполнительным адресом, который указывает на данные является сумма значений базового регистра и смещения.

- индексная, аналогична базовому, только используется индексные регистры. Исполнительным адресом является сумма значения индексного регистра и смещения.

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

 

24)

 

25) Типы данных в ЭВМ. Опpеделение данных. Упакованный и неупакованный фоpматы.

- db (define byte) – данные определены как байтовые

- dw (word)

- dd (double word)

<имя> <директива> <данные>

DUP – повторяет кол-во данных.

Var db 3 dup (2)

EQU – определяет значение, присваемое элементу данных.

Time equ 100h

Указатель типа данных – PTR (BYTE PTR, WORD PTR)

Представление двоично-десятичных чисел может быть в:

- упакованном формате: каждый байт упакованного десятичного числа содержит две цифры в двоично-десятичном коде, т.е. цифры (0-9). Каждая тэтрада содержит свою цифру. Max число -99.

- неупакованном формате: в байте содержится одна десятичная цифра.

Используется для отображения ASCII кода

«0» - 30h

 

 

26)

 

27) Регистpовая оpганизация пpоцессоpа ПЭВМ (регистры, память, порты).

РОН – регистр общего назначения

СМА – сумматор адреса

P-р Bx – входной регистр

УМУ – устройство микропроцессорного управления

PФ – регистр флагов

РОК – регистр очереди команд

УУШ – управление шиной

ОЗУ – оперативное запоминающее устройство

CS,DS,SS – сегментные регистры

IP – регистр указателя команд

СМА – сумматор адреса

В РОК выбираются команды ОЗУ, когда он освобождается. Очередь команд организована по правилу FI-FO (первый пришел, первый обслужился). 6 уровней РОК позволяют эффективно удовлетворять запросам на команды из процессора, сокращая до минимума затраты МП на выборку очередной команды из памяти. Если выполняется команда условного или безусловного перехода, то РОК очищается и заполняется новым содержимым. Если вызывалась подпрограмма, то прежнее содержимое сохраняется, а по окончании подпрограммы – восстанавливается.

УМУ декодирует очередную команду и вырабатывает последовательность микрокоманд, управляющих обработкой данных.

АЛУ выполняет арифметические и логические команды с учетом состояния PФ, результат через шину передается в память.

СМА формирует физический адрес выбираемый командой или данным, как результат суммирования индексного регистра и смещения. Физический адрес равен: CS+IP.

ОЗУ – оперативная память, в которой байты располагаются последовательно, причем каждый байт имеет свой собственный номер. Память в машине нумеруется не словами, а номером байта, располагающимся первым в слове.

Доступный физический объем памяти определяется разрядностью шины.

ПОРТ – виртуальный или реальный номер регистра внешнего устройства, в котором или из которого мы можем передавать информацию с помощью специальных команд.

Регистры.

EAX – предназначен для выполнения всех арифметических и логических операций. Его специальное назначение – аккумулятор накопления результата и использование в некоторых арифметических командах по умолчанию.

EBX – регистр базы, используется для всех операций, является базовым адресом массива хранения. Для некоторых операций преобразовывает данные XLAT.

ECX – регистр счетчик. Специальное назначение – является счетчиком в командах, которые выполняют циклические действия, или действия над массивами.(LOOP, REP mov SB).

EDX – регистр данных, используется для хранения результатов расширенных данных.

SI, DI – индексные регистры используются для адресации к памяти с модифмкацией этих адресов.

SP – указатель стека, используется для временного хранения памяти.

Стек – часть области памяти, очередь ячеек памяти, которая работает по принципу первый пришел последний обслужился и наоборот. SP указывает на вершину стека, используется в командах работы со стеком.

BP – регистр базового указателя стека.

Сегментные регистры.

CS - регистр сегмента команд

DS - сегмент данных

ES - регистр дополнительных данных

SS - регистр сегмента стека

Память разделена на сегменты. Внутри сегментов адреса ячеек нумеруются от 0. Физический адрес ячейки внутри сегмента вычисляется как сумма от сложения значения сегментного адреса с смещением ячейки в данном сегменте. Адрес в сегментном регистре имеет значение параграфа (число, кратное 16).

IP – регистр указателя команд. Содержит адрес следующей команды.

Регистр флагов. Он предназначен для фиксации результатов выполнения команд и состояние процессора.

С - флаг переносов, содержит перенос из старшего бита в результате арифметических операций и операций сдвига.

Р – флаг паритета, показывает сколько логических единиц получилось в результате выполненной операции. Когда флаг в 0, то нечетное количество единиц получилось в результате каждого действия.

А - арифметический перенос, устанавливает в единицу при наличии переноса из третьего в четвертый разряд.

Z – флаг 0 установится в единицу при получении нулевого результата. Единица, если результат равен 0, иначе Z=0.

S – флаг знака, содержит знак результата (0 – ‘+’, 1 – ‘-’).

Т – пошаговое выполнение действий, используется для отладки программ.

I - флаг прерываний, указывает на возможность внешнего прерывания процесса.

D - флаг направления, обозначает левое или правое направление обработки массивов строковой команды.

О – флаг переполнения, указывает на переполнение старшего бита при выполнении логических операций.

Остальные флаги используются для защитного режима системы.

 

 

 

 

  29) Базовая система ввода/вывода BIOS. Прерывания операционной системы DOS. Средства MS-DOS для работы с внешними устройствами(основные функции). Программа, управляющая основными прерываниями в системе до загрузки ОС, располагается в ПЗУ и называется BIOS. При включении компьютера CS(fffffff0) и IP(0) устанавливаются на адрес ПЗУ. - Тестирует и определяет различные порты для подключения внешних устройств. - формирует с 0-ого адреса памяти таблицу адресов прерывания. - Выполняет команду int 11h - запрос списка присоединения оборудования - int 12h – определение размера физической памяти - обращается к диску, являющемуся загрузочным для загрузки ОС. BIOS обслуживает прерывания 0-20, остальные - ОС. Int 4 - при переполнении ОП 5 – печать содержимого экрана 8 – системный таймер 9 - клавиатура A,B,C,D – прерывания с жёсткого диска 0E – с гибкого диска Всё ПО ПЗУ BIOS разделено на: TEST – анализирует наличие и работоспособность внешних устройств POST – устанавливает драйверы и загружает ОС. Прерывания ОС К ним относятся прерывания 21h<, в основном это набор резидентных драйверов периферийных устройств компьютера. Int 20h – функция выхода из прерывания. Наибольшее кол-во функций находится в int21h, такие как: 00 – завершение программы, аналогично 20h 01-0С – ввод с клавиатуры 0D-0E – работа с дисководом 0F-16 – чтение и запись файлов с использование блока управления 2A-2D – установка даты 3C-40 – открытие/закрытие, чтение и запись файла с использованием файлового дескриптора.   30) Клавиатура и программирование клавиатурных операций. Входные линии подключаются к Х0 – Х 3 клавиатурного процессора, выходящего Y0 – Y3. Устанавливается по очереди, на каждой из вертикальных линий, уровень напряжений = 0. Клавиатурный процессор опрашивает состояние горизонтальных линий. Если нажатых клавиш нет, уровень напряжений на всех горизонтальных линий = 5 В. Если нажать клавишу, то соответствующие вертикальные и горизонтальные линии замкнутся. В момент t, когда на этой вертикальной линии устанавливается 0, на соответствующей горизонтальной тоже 0. Наличие 0 на горизонтальной линии фиксируется процессором, и по соотношению номера горизонтальных линий и времени определяется номер горизонтальной линии. Номер клавиши однозначно связан с распайкой клавиатурной матрицы (сканкод). Клавиатурный процессор сканирует клавиатуру для поиска клавиши. Этот код преобразуется процессором в ASCII-код. Если нажать клавишу и не отпускать её, выполняется функция автоповтора, когда периодически в ПК посылается код. Для работы с клавиатурой используются порты 60 h и 61h. С их помощью можно осуществить режимы работы клавиатуры. Режим автоповтора 0F3h. Затем байт, определяющий характеристики клавиатурного режима Для программирования управляющих светодиодов (Caps lock, Num Lock, Scroll Lock) используется команда 0Edh. Затем посылается байт с указанием номера светодиода. Биты 0 вкл. Scroll Lock 1 Num Lock 2 Caps Lock Процесс взаимодействия системы с клавиатуры выглядит так:   31)   32) Структура системного таймера. Программирование временных интервалов и звука. Для управления режимом работы системного таймера имеется регистр управления – порт 43h Счётчик порт 42h Значение счётчика является делителем для значения частоты генератора. Программа формирует звук в зависимости от нажатой клавиши. Выход по ESC. Последовательность действий: - Приём символа в клавиатуры, если Esc – выход, иначе - Программируем второй канал системного таймера и заносим значение кода клавиши, умноженного на коэффициент. - Разрешаем работу второго канала и динамика через порт 61 - Переход на начало. - Запрещаем работу второго канала и выход.   33)   34)   35)   36)   38)   39)  

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту:

Обратная связь