Для студентов згиа специальности 080403 ”Программное обеспечение




НазваниеДля студентов згиа специальности 080403 ”Программное обеспечение
страница3/34
Дата публикации25.02.2013
Размер3.71 Mb.
ТипМетодическое пособие
uchebilka.ru > Информатика > Методическое пособие
1   2   3   4   5   6   7   8   9   ...   34
^

Структура команд микропроцессора Intel 8086



Режимы адресации

При выполнении любой программы процессор обращается к памяти, в которой хранятся команды и данные. В командах преобразований данных определяются адреса, которые указывают местоположение необходимых данных, а в командах передачи управления определяются адреса команд, которым передается управление, т.е. адреса переходов. Способ, или метод определения в команде адреса операнда или адреса перехода, называется режимом адресации или просто адресацией [12, 13].

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

  • определение адреса памяти наименьшим числом бит, что сокращает длину команд

  • вычисление адреса относительно текущей команды (так называемая относительная адресация), обеспечивающее загрузку программ без модификации в любую область памяти;

  • осуществление доступа к ячейкам памяти, адреса которых вычисляются при выполнении программы, что упрощает доступ к регулярным структурам данных;

  • оперирование адресами в такой форме, которая наиболее удобна для таких структур данных, как массивы и стеки.

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

Назначением режима адресации является указание способа формирования эффективного (или исполнительного) адреса ЕА. Этот адрес является либо адресом операнда (в командах, оперирующих данными), либо адресом перехода (в командах передачи управления). В МП Intel 8086 эффективный адрес памяти представляет собой 16-битное беззнаковое целое, являющееся смещением относительно базы некоторого сегмента. Полный (физический) адрес памяти формируется с привлечением одного из сегментных регистров.

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

Как уже отмечалось, МП Intel 8086 имеет организацию чипа «регистр - память». С точки зрения адресации это означает, что его команды адресуют максимум два операнда и что нe допускается одновременная адресация двух ячеек памяти. Первым операндом в двухоперандной (или двухадресной) команде обычно является содержимое регистра или ячейки памяти, а вторым – содержимое регистра или непосредственный операнд в команде. Ниже будет показано, что приведенная нумерация («первый» и «второй» операнды) в MП Intel 8086 является довольно условной и при желании может быть изменена.

Наиболее общий формат двухоперандной команды приведен на рис. 1.1
^ КОП d w mod reg r/m dispL dispH

Рис. 1.1 Двухоперандная команда (второй операнд - регистр)
Первый байт команды содержит код операции КОП и два однобитных поля направления d и слова w. Поле d определяет направление передачи: если d = l, то направление в МП, а если d=0, то направление из MП. Само направление относится ко второму операнду - регистру, определяемому полем reg второго байта команды. Этот байт называется постбайтом (или просто байтом) режима адресации. Поле w идентифицирует тип (размер) операнда: если w=1, команда оперирует словом, а если w = 0, - байтом. Таким образом, в зависимости от значений полей d и w имеются четыре возможности:

d w Передача или операция

0 0 Байт из регистра в память или регистр

0 1 Слово из регистра в память или регистр

1 0 Байт в регистр из памяти или регистра

1 1 Слово в регистр из памяти или регистра

Участвующие в операции регистры или регистр и ячейку памяти идентифицирует постбайт, состоящий из трех полей: mod - режим, reg - регистр и r/m - регистр/память. Поле reg определяет второй операнд, обязательно находящийся в регистре. Способ кодирования внутренних регистров МП в поле reg представлен в табл. 1

Из табл. 1.1 видно, что регистры данных АХ – DX, a также указательные и индексные регистры SP, ВР, SI, DI адресуются одинаковым образом.

Таблица 1.1. Адресация внутренних регистров МП

Поле reg r/т)

8 - битные регистры

16 – битные регистры

000

AL

АХ

001

CL

СX

010

DL

DX

011

BL

BX

100

AH

SP

101

CH

BP

110

DH

SI

111

BH

DI

Данное обстоятельство подчеркивает правомерность объединения всех этих регистров в группу общих регистров.

Поле mod определяет используемый режим адресации. В частности, оно показывает, как интерпретируется поле r/т для нахождения первого операнда. Если mod = 11, операнд содержится в регистре, а в остальных случаях первый операнд находится в памяти. Когда поле mod содержит 11 (регистровая адресация), поле r/т определяет 8- или 16-битный регистр в соответствии с табл. 1. В остальных случаях адресуется память, и поле mod определяет, как используется (необязательное) смещение disp, находящееся во втором и третьем байтах команды:

mod = 100, disp = 0 - смещение отсутствует;

mod = 01, disp = dispL - команда содержит 8-битное смние, которое расширяется со знаком до 16 бит;

mod = 10, disp = disH, dispL - команда содержит два байта смещения.

В этом же случае (mod не равно 11) косвенной адресации поле r/т определяет, каким образом формируется эффективный адрес операнда. Кодирование поля r/т представлено в табл. 1.2.

Приведенные правила имеют только одно исключение: если mod = 00 и г/m = 110, то EA = dispH, dispL. Здесь в команде содержится абсолютный адрес памяти.

Таким образом, операнд в памяти можно адресовать прямо (16-битное смещение) или косвенно (с 8- или 16-битным смещением). Во втором случае память можно адресовать через базовый регистр (ВР или BX), через индексный регистр (SI или DI), а также через комбинацию базового и индексного регистров.
^ Таблица 1.2. Формирование эффективного адреса памяти

Поле r/m

Эффективный адрес

000

001 010

011 100 101 110

111


EA = (BX) + (SI) + disp

EA = (BX) + (DI) + disp

EA = (BP) + (SI) + disp

EA = (BP) + (DI) + disp

EA = (SI) + disp

EА = (DI) + disp

ЕA = (BР) + disp

EA = (BX) + disp


Всего получается 24 режима адресации памяти - три способа интерпретации поля mod и восемь способов интерпретации поля r/т.

Суммарные сведения о постбайтных режимах адресации МП Intel 8086 сведены и табл.1.3
Примечание. Необходимо отчетливо представлять смысловое различие двух употреблений термина «смещение». Смещение (displacement), содержащееся в команде, интерпретируется как знаковое целое, которое участвует в формировании операционным устройством эффективного адреса EA. С другой стороны, из-за сегментной организации памяти весь эффективный адрес является смещением (offset) относительно базового адреса сегмента и интерпретируется как беззнаковое целое. Физический адрес памяти формирует шинный интерфейс.

Таблицa 1.3. Постбайтные режимы адресации

r /т

mod

00

01

10

11

000 001 010

011

100 101 110

111


(BX)+(SI) (BХ)+(DI)

(BP) +(SI) (BP)+(DI)

(SI)

(DI)

(D16)

(BX)



(BX)+(S1)+D8 (BX)+(DI)+D8 (BP)+(SI)+D8 (BP)+(DI)+D8 (SI)+D8

(DI) + D8

(BP) + D8 (BX)+ D8


(BX)+(SI)+D16

(BX)+(DI)+D16 (BP)+(SI)+D16 (BP)+(DI)+D16 (SI)+D16

(DI)+16

(BP)+D16 (BX)+D16


w=0

w=1

AL

CL

DL

BL

AH

CH

DH

BH

AX

CX

DX

BX

SP

BI

SI

DI


D8 = dispL (однобайтное смещение) D16 = dispH, dispL (двухбайтное смещение)




1   2   3   4   5   6   7   8   9   ...   34

Похожие:

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания к лабораторному практикуму для студентов згиа...
Методические указания к лабораторному практикуму для студентов згиа специальности 080403 «Программное обеспечение автоматизированных...

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания для студентов специальности 080403
Згиа [8, 10] и других вузов [4]. Наиболее полно описаны курсовые, дипломные и квалификационные работы, однако большинство положений...

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания к курсовой работе по дисциплине «Системное...
Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» для студентов специальности...

Для студентов згиа специальности 080403 ”Программное обеспечение iconПравила использования программного обеспечения в рамках программы...
Используя программное обеспечение вы тем самым подтверждаете свое согласие придерживаться этих правил. Если вы не согласны, не используйте...

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания по выполнению лабораторных работ по курсу “
Информационные управляющие системы и технологии, 080403 – Программное обеспечение автоматизированных систем

Для студентов згиа специальности 080403 ”Программное обеспечение iconКлассификация программного обеспечения
В отличие от аппаратного обеспечения, программы, которые выполняются на нем, неосязаемы и классифицируются как программное обеспечение....

Для студентов згиа специальности 080403 ”Программное обеспечение iconКурсовая работа выполняется на основании 'Задания на курсовую работу'...
Целью курсовой работы является закрепление практических навыков самостоятельной постановки и решения задачи обработки данных с помощью...

Для студентов згиа специальности 080403 ”Программное обеспечение icon1. Классификация программного обеспечения
Назначением ЭВМ является выполнение программ. Программа содержит команды, определяющие порядок действии компьютера. Совокупность...

Для студентов згиа специальности 080403 ”Программное обеспечение iconОпорный конспект лекций по дисциплине Компьютерная графика для специальности...
Тема. Основные понятия компьютерной графики. Аппаратное и программное обеспечение

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания и задание к выполнению курсового проекта по...
Методические указания и задание к выполнению курсового проекта по дисциплине «Алгоритмическое и программное обеспечение электротехнических...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<