Конспект лекций


Скачать 1.37 Mb.
Название Конспект лекций
страница 5/15
Тип Конспект
rykovodstvo.ru > Руководство эксплуатация > Конспект
1   2   3   4   5   6   7   8   9   ...   15

Способы задания операндов команды


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

Операнд задается неявно на микропрограммном уровне. В этом случае команда явно не содержит операндов. Алгоритм выполнения команды использует некоторые объекты по умолчанию (регистры, флаги в eflags и т. д.).
Например, команды cli и sti неявно работают с флагом прерывания if в регистре eflags, а команда xlat неявно обращается к регистру al и строке в памяти по адресу, определяемому парой регистров ds:bx.

Операнд задается в самой команде (непосредственный операнд). Операнд находится в коде команды, то есть является ее частью. Для хранения такого операнда в команде выделяется поле длиной до 32 бит (см. рис. 1). Непосредственный операнд может быть только вторым операндом (источником). Операнд получатель может находиться либо в памяти, либо в регистре.
Например: mov ax,0ffffh пересылает в регистр ax шестнадцатеричную константу ffff. Команда add sum,2 складывает содержимое поля по адресу sum с целым числом 2 и записывает результат по месту первого операнда, то есть в память.

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

  • 32-разрядные регистры EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP;

  • 16-разрядные регистры AX, BX, CX, DX, SI, DI, SP, BP;

  • 8-разрядные регистры AH, AL, BH, BL, CH, CL, DH, DL;

  • сегментные регистры CS, DS, SS, ES, FS, GS.

Например, команда add ax,bx складывает содержимое регистров ax и bx и записывает результат в bx. Команда dec si уменьшает содержимое si на 1.

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

В свою очередь, косвенная адресация имеет следующие разновидности:

  • косвенная базовая адресация; другое ее название - регистровая косвенная адресация;

  • косвенная базовая адресация со смещением;

  • косвенная индексная адресация со смещением;

  • косвенная базовая индексная адресация;

  • косвенная базовая индексная адресация со смещением.

Операндом является порт ввода/вывода. Как мы уже отмечали, помимо адресного пространства оперативной памяти микропроцессор поддерживает адресное пространство ввода-вывода, которое используется для доступа к устройствам ввода-вывода. Объем адресного пространства ввода-вывода составляет 64 Кбайт. Для любого устройства компьютера в этом пространстве выделяются адреса. Конкретное значение адреса в пределах этого пространства называется портом ввода-вывода. Физически порту ввода-вывода соответствует аппаратный регистр (не путать с регистром микропроцессора), доступ к которому осуществляется с помощью специальных команд ассемблера in и out.
Например,
in al,60h ;ввести байт из порта 60h
Регистры, адресуемые с помощью порта ввода-вывода, могут иметь разрядность 8, 16 или 32 бит, но для конкретного порта разрядность регистра фиксирована.
Команды in и out работают с фиксированной номенклатурой объектов. В качестве источника информации или получателя применяются так называемые регистры-аккумуляторы eax, ax, al. Выбор регистра определяется разрядностью порта. Номер порта может задаваться непосредственным операндом в командах in и out или значением в регистре dx. Последний способ позволяет динамически определить номер порта в программе. Например:
     mov  dx,20h    ;записать номер порта 20h в регистр dx

     mov  al,20h    ;записать значение 20h в регистр al

     out  dx,al     ;вывести значение 20h в порт 20H

Операнд находится в стеке.

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

  • регистр-регистр;

  • регистр-память;

  • память-регистр;

  • непосредственный операнд-регистр;

  • непосредственный операнд-память.

У данного правила есть исключения, которые касаются:

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

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

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

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

Перечислим и затем рассмотрим особенности основных видов адресации операндов в памяти:

  • Прямая адресация

  • Косвенная базовая (регистровая) адресация

  • Косвенная базовая (регистровая) адресация со смещением

  • Косвенная индексная адресация со смещением

  • Косвенная базовая индексная адресация

  • Косвенная базовая индексная адресация со смещением
1   2   3   4   5   6   7   8   9   ...   15

Похожие:

Конспект лекций icon Конспект лекций
Ш 39 Метрология, стандартизация, сертификация: Конспект лекций / О. А. Шейфель; Кемеровский технологический институт пищевой промышленности....
Конспект лекций icon Конспект лекций для студентов всех форм обучения специальности 080110...
Налоги и налогообложение: Конспект лекций / Составитель Н. А. Леончик. – Кемерово, 2006. – 80 с
Конспект лекций icon Технические средства автоматизации конспект лекций
Конспект лекций предназначен для студентов дневной, вечерней, заочной и дистанционной форм обучения по специальности 220301 «Автоматизация...
Конспект лекций icon Конспект лекций Владимир 2010 Министерство образования Российской...
Автоматизированные системы бухгалтерского и управленческого учета. Часть 1: Конспект лекций / Владим гос ун-т; Сост.: Д. Н. Васильев...
Конспект лекций icon Конспект лекций лаконично раскрывает содержание и структуру учебной...
Безопасность жизнедеятельности : конспект лекций для студентов очной и заочной форм обучения / сост. В. М. Домашко; Южный федеральный...
Конспект лекций icon Конспект лекций по дисциплине для специальности 080101. 65 «Экономическая безопасность»
Информационные системы в экономике: конспект лекций по дисциплине для обучающихся по специальности 080101. 65 «Экономическая безопасность»...
Конспект лекций icon Конспект лекций по дисциплине «Научные основы производства продуктов питания»
Конспект лекций по дисциплине «Научные основы производства продуктов питания» для студентов кафедры «Технология и организация общественного...
Конспект лекций icon Конспект лекций по дисциплине вгипу, 2009 Конспект лекций по дисциплине...
Учебное пособие предназначено для студентов различных специальностей, изучающих дисциплину “Автоматизированные системы управления...
Конспект лекций icon Кафедра фармации Органические лекарственные препараты. Ароматические...
Органические лекарственные препараты. Ароматические соединения. Краткий конспект лекций – Нижний Новгород: Изд-во Нижегородской государственной...
Конспект лекций icon Конспект-лекций основы социальной работы 44. 05. 01 «Педагогика и...
Мельников С. В. Основы социальной работы: Конспект-лекций по специальности 44. 05. 01 «Педагогика и психология девиантного поведения»...
Конспект лекций icon Конспект лекций по курсу «Делопроизводство» составлен на основе базовой...
Конспект лекций по курсу «Делопроизводство» составлен на основе базовой программы «Делопроизводство и документационное обеспечение...
Конспект лекций icon Конспект лекций (Гилевский Ю. Х.) по высшей геодезии за 3 курс обучения...
Конспект лекций (Гилевский Ю. Х.) по высшей геодезии за 3 курс обучения в Санкт-Петербургском техникуме Геодезии и картографии. Примерно...
Конспект лекций icon Конспект лекций по учебной дисциплине защита информации
Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования
Конспект лекций icon Конспект лекций учебной дисциплины: «Производственный менеджмент»
Тема Методы сетевого планирования и управления в подготовке производства продукта
Конспект лекций icon Конспект лекций мдк 02. 02. Электронные средства и методы геодезических измерений
ПМ. 02. Выполнение топографических съемок, графического и цифрового оформления их результатов
Конспект лекций icon Конспект лекций по дисциплине «экономика татарстана»
Принята на заседании кафедры экономико-математического моделирования Института управления, экономики и финансов

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск