- •3.Регистры мп i8086.
- •7.Адресация, непоср. Операнды.
- •8. Прямая адресация.
- •9. Побічна адресация.
- •10. Косвенная адресация со смещением.
- •11. Базово-індексна адресация.
- •13. Адресация символьних данних.
- •14.Адресация портов ввода/вывода
- •15. Работа со стеком.
- •16.Вызов процедур на ассемблере.
- •17.Прерывания работы проц. Вызов программных прерываний.
- •30. Прерывания bios и dos.
- •18 Мова Асемблера мікропроцесора 80х86. Фрмат запису програм Асм
- •19 Лексеми Асемблера(імена, константи, символьні дані)
- •21.Команды пересылания данных ( mov, xchg).
- •22Арифм. Команды(add, sub).
- •23.Арифм. Команды( mul, imul, div, idiv).
- •24.Безусловный переход.
- •25.Команды сравнения, реализация условного перехода.
- •26Команды управления циклами.
- •27Процедуры, передача параметров через регистры и стек.
- •28Символьные команды, преффиксы повторения.
- •29Макросы, макрокоманды, условное ассемблирование.
- •39 Особливості процесорів з архітектурою vliw
- •4. Режими роботи мікропроцесора і80386
- •Реальный режим
- •Защищенный режим
- •5. Режими роботи мікропроцесора х86-64
- •31Робота мiкропроцесора pentium у захищеному режимi
- •32Регiстри мiкропроцесора pentium у захищеному режимi
- •33Адресацiя мiкропроцесора pentium у захищеному режимi. Flat Model.
- •40 Классификация Флинна
- •41. Гарвардська та фон Нейманська архітектура. Классическая гарвардская архитектура
- •Отличие от архитектуры фон Неймана
- •Гибридные модификации с архитектурой фон Неймана
7.Адресация, непоср. Операнды.
Для эффективного применения команд м.проца следует рассмотреть возможные способы адресации.
Под адресацией данных в языке ассемблера понимают способы обращения к используемым в командах операндам. Различают следующие основные способы описания операндов (и соответствующие способы адресации):
операнды-регистры;
непосредственные операнды;
операнды в памяти;
адресацию строковых данных;
адресацию портов ввода-вывода.
8. Прямая адресация.
Прямой адрес – это литеральный адрес смещения переменной в памяти относительно любого базового сегмента. При прямом обращении к памяти фиксируется только адрес смещения. Прямая адресация осуществляется в пределах одного сегмента для сохранения или взятия величин из каких-либо переменных.
Например, mov x1,AL. х1 – переменная, метка. По данному адресу записывается 1 байт из регистра AL. mov CX, count – 2 байта записываются в регистр СХ. mov DS, AX – содержимое АХ записывается в регистр данных DS.
Существует два вида прямой адресации: относительная и абсолютная. При исп. относит. адресации задаётся в кач-ве операнда 1 байт, который рассматривается как смещение относительно текущей команды. При абс. адресации смещение записывается 2 байтами и представляет собой беззнаковое целое число.
9. Побічна адресация.
Адресация осущ. заданием адреса одного из операндов. Вместо обращения к переменной в памяти по имени можно использовать один из трёх регистров – bx, si, di в кач-ве указателя на данные в памяти. Поскольку для адресации различных областей памяти программа может изменять значения регистров, косвенная адресация позволяет одной команде оперировать многими переменными. Загрузив адрес смещения в соответствующий регистр, можно обращаться к данным, записанным в памяти с помощью след. команд: mov [bx],AL – записать содержимое AL по адресу, кот. содержится в регистре bx.
mov [bx],0 – при этой команде генерируется ошибка, для коррекции которой используются модификаторы: byte ptr, word ptr, dword ptr. Правильный вариант этой команды с учётом модификаторов: mov word ptr [bx],0. Модификаторы исп. и в тех случаях, когда разрядность операндов явно не может быть установлена.
10. Косвенная адресация со смещением.
Для косв. адресации со смещением исп. 2 регистра – bx, bp. Обращения к bx проводятся относительно сегмента данных, адресуемого ds. Ссылки на bp осущ. относительно стекового сегмента ss и обычно применяются для чтения и записи значений в стек. Для косв. адресации к области, адресуемой bx или bp, добавляется значение смещения, которое задаётся в байтах и может быть как положительным, так и отрицательным.
Например, mov [BX+2],AL либо mov 2[BX],AX, что эквивалентно.
11. Базово-індексна адресация.
Б.-и. адресация объединяет два регистра и добавляет необязательное значение перемещения для формирования обращения к памяти по составному смещению. Первым регистром должен быть либо bx, либо bp. Вторым регистром должен быть si или di. Смещения, начинающиеся с bx, определяются относительно сегмента данных ds, а смещения, начинающиеся с bp, - относительно сегмента стека ss.
Например: mov ax,[bx+si] – загрузить в ах слово из сегмента данных, mov ax,[bp+di] – загрузить в ах слово из сегмента стека. Можно менять порядок регистров. В любом из этих примеров можно добавлять необязательное значение перемещения: mov ax,[bx+si+5]; mov ax,[bp+di+5].
Б.-и. адресация является самым мощным методом обращения к памяти. С его помощью вы можете определить начальное смещение в bp или bx (возможно, адрес массива), добавить к нему значение индекса из si или di (возможно, определяющий эл-т массива), после чего прибавить значение перемещения (может быть для нахождения поля записи в этом заданном эл-те массива). Изменяя значения базового и индексного регистров, программа может адресовать в памяти сложные стр-ры данных.
12. Базово-індексна адресация со смещением.
При такой адресации исполнительный адрес определяется сложением содержимого базового регистра (ВХ или ВР), индексного регистра (SI, DI) и величины смещения. Как отмечалось выше, величина смещения является частью команды и может быть 8-битовым числом со знаком или 16-битовым числом без знака. За исполнительный адрес принимается перемещаемый адрес текущего сегмента данных или стекового сегмента в зависимости от того, какой из регистров используется - ВХ или ВР. Прикладные программы могут использовать префиксные команды, благодаря которым можно переприсвоить исполнительные адреса относительно других сегментов памяти. При базово-индексной адресации со смещением поле Mod представляет собой двоичное число 01 или 10 в зависимости от того, определяется ли смещение 8- или 16- битовым числом. Поле Rm представляется точно также, как и в случае базово-индексной адресации.