Что такое операнд?
Операнды как объекты, над которыми или при помощи которых выполняются действия, задаваемые инструкциями или директивами. Классификация и типы операндов, принцип их действия и особенности применения, этапы формирования и предъявляемые требования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | доклад |
Язык | русский |
Дата добавления | 14.12.2012 |
Размер файла | 13,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ДОКЛАД
«Что такое операнд?»
Операнды
Операнды - это объекты, над которыми или при помощи которых выполняются действия, задаваемые инструкциями или директивами. Машинные команды могут либо совсем не иметь операндов, либо иметь один или два операнда. Большинство команд требует двух операндов, один из которых является источником, а другой - приемником (операндом назначения). В двухоперандной машинной команде возможны следующие сочетания операндов:
? регистр - регистр;
? регистр - память;
? память - регистр;
? непосредственный операнд - регистр;
? непосредственный операнд - память.
Здесь важно подчеркнуть, что один операнд может располагаться в регистре или памяти, а второй операнд обязательно должен находиться в регистре или непосредственно в команде. Непосредственный операнд может быть только источником.
Для приведенных ранее правил сочетания типов операндов есть исключения, которые касаются:
? команд работы со стеком, которые могут переносить данные из памяти в стек, также находящийся в памяти;
? команд типа умножения, которые, кроме операнда, указанного в команде, неявно используют еще и второй операнд.
Операндами могут быть числа, регистры, ячейки памяти, символьные идентификаторы. При необходимости для расчета некоторого значения или определения ячейки памяти, на которую будет воздействовать данная команда или директива, используются выражения, то есть комбинации чисел, регистров, ячеек памяти, идентификаторов с арифметическими, логическими, побитовыми и атрибутивными операторами.
Рассмотрим классификацию операндов, поддерживаемых транслятором ассемблера.
? Операнд задается неявно на микропрограммном уровне. В этом случае команда явно не содержит операндов. Алгоритм выполнения команды использует некоторые объекты по умолчанию (регистры, флаги в FLAGS и т.д.). Например, команда XLAT неявно обращается к регистру AL и строке в памяти по адресу, определяемому парой регистров DS:BX.
? Операнд задается в самой команде (непосредственный операнд). Это может быть число, строка, имя или выражение, имеющее некоторое фиксированное (константное) значение. Физически непосредственный операнд находится в коде команды, то есть является ее частью. Для его хранения в команде выделяется поле длиной до 32 битов. Непосредственный операнд может быть только вторым операндом (источником). Операнд-приемник может находиться либо в памяти, либо в регистре. Например, команда mov ax, 0ffffh пересылает в регистр АХ шестнадцатеричную константу 0ffffh. Команда add sum, 2 складывает содержимое поля по адресу sum с целым числом 2 и записывает результат по месту первого операнда, то есть в память. Если непосредственный операнд - имя, то оно не должно быть перемещаемым, то есть зависеть от адреса загрузки программы в память. Такое имя можно определить оператором EQU или «=». Например:
num equ 5; вместо num ассемблер; везде подставляет 5 imd = num-2; вместо num ассемблер; везде подставляет mov al, num ; эквивалентно mov al, 5,; здесь 5 - непосредственный операнд add [si], imd; сложение [si]:= [si]; здесь imd - непосредственный операнд
? Адресные операнды задают физическое расположение операнда в памяти путем указания двух составляющих адреса: сегмента и смещения. К примеру:
mov ax, 0000h
mov ds, ax
mov ax, ds:0000h;
операнд директива инструкция
записать слово в ах из области; памяти по физическому; адресу 0000:0000
? Перемещаемые операнды - любые символьные имена, представляющие некоторые адреса памяти. Эти адреса могут обозначать местоположение в памяти некоторой инструкции (если операнд - метка) или данных (если операнд - имя области памяти в сегменте данных). Перемещаемые операнды отличаются от адресных тем, что они не привязаны к конкретному адресу физической памяти. Сегментная составляющая адреса перемещаемого операнда неизвестна и определяется после загрузки программы в память для выполнения. К примеру:
data segment
mas_w dw 25 dup (0)
…
code segment
…
lea si, mas_w ; mas_w - перемещаемыйоперанд
…
В этом фрагменте mas_w - символьное имя, значением которого является адрес первого байта области памяти размером 25 слов. Полный физический адрес этой области памяти будет известен только после загрузки программы в память для выполнения.
? Счетчик адреса - специфический вид операнда. Он обозначается знаком $. Специфика этого операнда в том, что когда транслятор ассемблера встречает в исходной программе этот символ, то он подставляет вместо него текущее значение счетчика адреса. Значение счетчика адреса, или, как его иногда называют счетчика размещения, представляет собой смещение текущей машинной команды относительно начала сегмента кода. При обработке транслятором очередной команды ассемблера счетчик адреса увеличивается на длину сформированной машинной команды. Важно правильно это понимать. К примеру, обработка директив ассемблера не влечет за собой изменения счетчика, так как директивы ассемблера, в отличие от его команд, - это лишь указания транслятору на выполнение определенных действий по формированию машинного представления программы, и для них транслятором не генерируется никаких конструкций в памяти. В качестве примера использования в команде значения счетчика адреса можно привести следующий фрагмент:
jmp $+3 ; безусловный переход на команду mov
cld ; длина команды cld составляет 1 байт
mov al, 1
При формировании выражения для перехода, подобного $+3, нужно помнить о длине самой команды, в которой это выражение используется, так как значение счетчика адреса соответствует смещению в сегменте команд данной, а не следующей за ней команды. В нашем примере команда JMP занимает два байта. Нужно быть осторожным, длина этой и других команд зависит от того, какие в ней используются операнды. Команда с регистровыми операндами будет короче команды, один из операндов которой расположен в памяти. В большинстве случаев эту информацию можно получить, зная формат машинной команды и анализируя колонку файла листинга с объектным кодом команды.
? Регистровый операнд - это просто имя регистра. В программе на ассемблере можно использовать имена всех регистров общего назначения:
1. 16-разрядные регистры АХ, ВХ, СХ, DX, SI, DI, SP, ВР;
2. 8-разрядные регистры АН, AL, BH, BL, CH, CL, DH, DL;
3. сегментные регистры CS, DS, SS, ES.
? Операнд - порт ввода-вывода. Помимо адресного пространства оперативной памяти процессор поддерживает адресное пространство ввода-вывода, которое используется для доступа к устройствам ввода-вывода. Объем адресного пространства ввода-вывода составляет 64 Кбайт. Для любого устройства компьютера в этом пространстве выделяются адреса. Конкретное значение адреса в пределах этого пространства называется портом ввода-вывода. Физически порту ввода-вывода соответствует аппаратный регистр (не путать с регистром процессора), доступ к которому осуществляется с помощью специальных команд ассемблера IN и OUT. Например,
in al, 60h ; ввести байт из порта 60h
Регистры, адресуемые с помощью порта ввода-вывода, могут иметь разрядность 8 или 16 бит, но для конкретного порта разрядность регистра фиксирована. Команды IN и OUT работают с фиксированной номенклатурой объектов. В качестве источника информации или получателя применяются так называемые регистры-аккумуляторы АХ, AL. Выбор регистра определяется разрядностью порта. Номер порта может задаваться непосредственным операндом в командах IN и OUT или значением в регистре DX. Последний способ позволяет динамически определить номер порта в программе. Например,
mov dx, 20h ; записать номер порта 20h в регистр dx
mov al, 20h ; записать значение 20h в регистр al
out dx, al ; вывести значение 20h в порт 20H
? Операнд находится в стеке.
? Операнд располагается в памяти. Это наиболее сложный и в то же время наиболее гибкий способ задания операндов. Он позволяет реализовать прямой и косвенный варианты адресации, являющиеся основными видами адресации.
Размещено на Allbest.ru
...Подобные документы
Понятие и принципы построения локальной вычислительной сети, требования к данному процессу, его этапы и предъявляемые требования, протоколы. Канальный уровень модели OSI. Коммутаторы, их функциональное назначение и принцип действия. Этапы маршрутизации.
курсовая работа [52,3 K], добавлен 19.06.20143-D принтер - устройство для вывода трёхмерных данных и создания физических объектов; особенности и преимущества технологии. Области применения: архитектура, геоинформационные системы, медицина. Принцип действия принтера, материалы для 3-D печати.
презентация [655,5 K], добавлен 23.10.2014Понятие машинной команды как закодированного по определенным правилам указания микропроцессору на выполнение некоторой операции или действия. Элементы машинных команд (код операции, операнд) и их виды (передачи данных, управления, арифметико-логические).
презентация [120,6 K], добавлен 14.10.2013Сущность и назначение экспертной системы, ее основные элементы и предъявляемые требования, обоснование важности и области применения. Методика получения объяснений в результате действия экспертной системы, их виды. Построение модели гибкого интерфейса.
курсовая работа [202,4 K], добавлен 10.11.2009Понятие и структура, общие требования к информационной системе, этапы разработки и предъявляемые требования. Особенности работы системы управления базами данных, технологии и принцип работы. Разработка, преобразование ER-диаграммы в реляционную модель.
курсовая работа [383,8 K], добавлен 26.03.2015Понятие и функциональные особенности запоминающих устройств компьютера, их классификация и типы, сравнительная характеристика: ROM, DRAM и SRAM. Оценка преимуществ и недостатков каждого типа оперативной памяти, направления и пути их использования.
презентация [118,1 K], добавлен 20.11.2013Сущность и принцип действия локальной вычислительной сети, ее виды, преимущества и недостатки. Предпосылки внедрения технологии виртуальной локальной сети в локальных сетях. Требования, предъявляемые к домовым локальным сетям при их модернизации.
дипломная работа [2,9 M], добавлен 26.08.2009Выбор и обоснование параметров варианта. Структура вычислительного процесса алгоритмы вычисления. Последовательность обработки операндов. Обозначения на схемах ОВС, временные диаграммы. Программирование ОВС, коды команд ОЭ. Схема цепей программирования.
курсовая работа [264,1 K], добавлен 24.09.2010Методы разработки автоматизированных систем. Характеристика языка программирования Delphi и операционной системы Windows. Назначение и область применение, принцип действия идентификаторов. Этапы разработки программного продукта, требования к нему.
курсовая работа [903,9 K], добавлен 14.02.2015Общий вид и назначение интерактивной системы аналитических вычислений Maple, выполняемые ею операции и правила их оформления. Простейшие объекты, с которыми работает программа: числа, константы и строки, сферы и особенности их практического применения.
лабораторная работа [35,2 K], добавлен 15.07.2009Понятие информационной технологии, принципы и этапы ее формирования, предъявляемые требования, современные проблемы использования. Виды информационных технологий, специфика и направления их практического применения. Решение прикладной задачи в Excel.
курсовая работа [680,9 K], добавлен 09.06.2013Моделирование движения пешехода и составление блок-схемы программы. Построение изображения выходного сигнала в MathCAD и нормирование переходной характеристики. Модель программы обслуживание покупателей на языке GPSS/PC-2, описание команд и операндов.
курсовая работа [635,4 K], добавлен 01.02.2014Основные виды принтеров. Принцип действия матричных, струйных и лазерных принтеров. Характеристика преимуществ и недостатков струйных и лазерных принтеров. Особенности многофункциональных устройств. Режущие и печатающие плоттеры, сферы их применения.
реферат [24,3 K], добавлен 12.09.2014Разработка устройства управления процессора для выполнения команд сложения, вычитания и поразрядного логического "или", с использованием способов адресации операндов: регистр-регистр, регистр - непосредственно операнд, регистр - прямая адресация памяти.
курсовая работа [72,8 K], добавлен 21.11.2011Основные критерии и требования к средствам поиска по ресурсу. Технологии создания инструментов поиска. Способы поиска по ресурсу. Принцип действия поиска по ключевым словам и при помощи поисковых систем. Разработка ресурса "Поиск по ресурсу" в виде блога.
курсовая работа [983,7 K], добавлен 01.02.2015Мониторы на электронно-лучевых трубках. Типы матриц жидкокристаллического монитора. Проекторы на основе DLP- технологии. Принцип действия лазерных проекторов. Типы видеокарт компьютера. Интерфейсы программирования приложений. Виды видео интерфейсов.
курсовая работа [1,3 M], добавлен 25.03.2015Классификация сканеров по способу формирования изображения. Ручные, настольные, комбинированные сканеры. Принцип действия планшетного сканера. Сенсорные технологии в сканерах: CCD, CIS. Программа Abbyy FineReader как пример системы распознавания символов.
контрольная работа [10,1 K], добавлен 08.11.2010Назначение, классификация и принцип действия плоттеров. Технические характеристики графопостроителей, особенности их подключения к компьютеру. Особенности планшетных, перьевых, струйных, электростатических, лазерных, режущих и сольвентных плоттеров.
доклад [14,8 K], добавлен 12.02.2014Понятие и структура мультимедийных презентаций, их классификация и типы, принципы и этапы формирования. Цели и функции применения в образовательной сфере, дидактические требования. Использование мультимедийных презентаций на уроках иностранного языка.
доклад [41,0 K], добавлен 11.09.2015Основные форматы данных и их представление. Запись чисел в формат с плавающей точкой. Вычитание чисел в формате с плавающей точкой. Регистры операндов и результата, размером формата числа с плавающей точкой, двойной точности. Поля смещённого порядка.
курсовая работа [78,9 K], добавлен 09.09.2014