У вас вопросы?
У нас ответы:) SamZan.net

снизу вверх т.е

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.4.2025

  1.  Общие сведения.

Процессор Intel8086/8088 был разработан фирмой Intel в 1978 г.

Разрядность шины данных – 16 бит, у упрошенного Intel8088 – 8 бит.

Разрядность шины адреса – 20 бит, что позволяет напрямую адресовать 1 Мбайт памяти.

// Intel8086/8088 – CISC процессор. (Complex Instruction Set Computer)

Микропроцессоры семейства Intel x86 программно совместимы «снизу вверх», т.е. программы написанные для младших моделей могут без изменений быть выполнены на любой более старшей модели.

  1.  Оперативная память.

Наименьшая адресуемая ячейка памяти – 1 байт. Кроме того, имеются более крупные адресуемые ячейки: слово (2 байта) и двойное слово (4 байта).

Для систем построенных на основе процессоров Intel х86  характерно «перевернутое» представление байт слова в памяти: старший байт располагается по большим адресам, чем младший (al, ah) или (98=0062h -> | 62 | 00 |).

  1.  Программная структура микропроцессора Intel 8086/8088.

С точки зрения программиста, процессор содержит следующие регистры:

- регистры общего назначения: AX, BX, CX, DX, SI, DI, BP, SP;

- сегментные регистры: CS, DS, SS, ES;

- указатель команд: IP;

- регистр флагов: мнемонического обозначения не имеет.

Все регистры имеют разрядность 16 бит.

РОН. Эти регистры могут использоваться в любых арифметических, логических и других операциях, в тоже время каждый из них имеет определенную специализацию:

AX – аккумулятор

BX – база (указывает на начальный адрес структуры в памяти)

CX – счетчик

DX – данные

SI – индекс источника

DI – индекс приемника

BP – указатель базы

SP – указатель стека

Возможен доступ к половинам регистров AX, BX, CX, DX, для чего ассемблером предусмотрены соответствующие мнемонические имена младших (al, bl, cl, dl) и старших (ah, bh, ch, dh) байт регистров.

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

Для адресации больших объемов памяти необходимо большее число бит под физические адреса. Для 64 Кбайт памяти достаточно 16-ти битного адреса. Для адресации 1 Мбайт памяти требуется 20 бит (упомянуть шину адреса). Т.к. все регистры микропроцессора – 16-ти разрядные, то для  адресации 1 Мб памяти был введен механизм сегментации памяти.

Память разделяется на логические сегменты по 64 Кбайт. Адрес конкретного байта выражается 2мя 16-ти битными значениями: адресом сегмента и смещением от начала сегмента. Эта комбинация значений сегмента и смещения называется логическим адресом.

Преобразование в физический адрес производится по следующему правилу:

Физический Адрес = Сегмент х 16 + Смещение

Исходя их этого, получается, что границы сегментов располагаются через каждые 16 байт физических адресов. Каждый из таких 16-ти байтовых фрагментов называется параграфом.

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

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

CS – сегмент кода программы (определяет начало кода программы)

DS – сегмент данных (определяет начало переменных программы)

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

SS – сегмент стека (определяет начало стекового пространства программы)

Указатель команд:

IP (instruction pointer) является смещением в сегменте CS и указывает на следующую исполняемую команду.

Регистр флагов:

Регистр флагов содержит 16 бит, но используется только 9. Значащие разряды регистра флагов имеют мнемоническое обозначение.

Флаги условий:

CF – флаг переноса

OF – флаг переполнения

ZF – флаг нуля

SF – флаг знака

PF – флаг четности

AF – флаг дополнительного переноса (двоично-десятичный счет)

Флаги управления (состояний):

DF – флаг направления (направление просмотра строк в строковых командах)

IF – флаг прерывания (разрешение/запрет прерываний)

TF – флаг трассировки (установка/сброс отладки)

  1.  Стек

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

Принцип работы стек понятен из названия, т.е. last in first out.

Стек адресуется 2мя регистрами: регистр сегмента стека и указателем вершины стека, т.е. местоположение «верхнего» элемента в стеке.

Стек «растет» в сторону уменьшения адресов.

  1.  Команды процессора

Процессор Intel 8086/8088 имеет следующие группы команд:

  1.  Команды передачи данных
  2.  Арифметические и логические команды
  3.  Команды перехода
  4.  Команды управления
  5.  Команды работы со строками

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

  1.  Синтаксис ассемблера

Лексемами ассемблера являются имена, числа и строки.

Идентификаторы – обозначения объектов программы. Они делятся на служебные слова (названия команд и регистров) и имена (метки, переменные, подпрограммы). Идентификаторы могут содержать последовательность из латинских букв (больших и маленьких), цифр и следующих знаков: ? . @ _ $

Числовые константы записываются в двоичной, восьмеричной, десятичной или шестнадцатеричной системах счисления и заканчиваются соответственно символом b, o(q), d (по-умолчанию), h.

Символьные константы заключаются в одинарные или двойные кавычки: “abcd””sfg” или ‘advs’’jtfjh

Каждая команда записывается на отдельной строке в следующем формате:

[метка] мнемокод [операнд, [операнд,...]] [; комментарий]

Директивы:

[имя] название директивы [операнд, [операнд,...]] [; комментарий]

Директива db:

Определение байта.

Имя db выражение[, выражение[,выражение…]] [; комментарий]

Вместо выражения можно поставить знак вопроса «?» это будет означать неопределенное выражение.

Пример:

count db 3

hello db ‘h’,’e’,’l’,’l’,’o’

Директива dw:

Определение слова.

Имя dw выражение[, выражение[,выражение…]] [; комментарий]

Вместо выражения можно поставить знак вопроса «?» это будет означать неопределенное выражение.

Пример:

big_count dw ffffh

Аналогично директивой dd определяется двойное слово.




1. На тему- Формирование словаря детей старшего дошкольного возраста на материале народных и авторских сказок
2. Инвестиционный проект управление мотивацией
3. Концепция экзистенциональной педагогики
4. Центр поддержки и развития добровольчества ~ Твори добро А
5. Затем просит гостей построиться живым коридором держа над головами букеты цветов; через определенные интер
6. Особенности подготовки велосипедистов к индивидуальной гонке преследования
7. Биохимия СПЕЦИАЛЬНОСТЬ БИОЛОГИЯ
8. Психотехника и практическая психология
9. НА Демидова НТГПК ОТЧЕТ ПО ПРОИЗВОДСТВЕННОЙ ПРАКТИКЕ Студента Парамонова П
10. . Меры обеспечения производства по делам об административных правонарушениях Для правильного и объектив.