41639

Архитектура микропроцессоров

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Команда осуществляет изменение содержания определенного регистра или передачу содержимого определенного регистра в другой регистр. Команда работает с определенными ячейками памяти или регистрами называемыми операндами команд содержимое которых при выполнении команды читается и или записывается. Основной формат кодирования команд Ассемблера на примере IBM имеет следующий вид: [метка] команда [операнды]. Команда MOV с однобайтовым непосредственным операндом.

Русский

2013-10-24

42.81 KB

13 чел.

ЛАБОРАТОРНАЯ РАБОТА № 4

Архитектура микропроцессоров

Форматы команд. Дать описание разрядов

Форматы команд и система команд

Структура машинной программы обуславливается набором команд рассматриваемой ЭВМ и порядком обработки команд машиной. Команды, каждая из которых соответствует отдельной операции, обрабатываются процессором последовательно.

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

Команда работает с определенными ячейками памяти или регистрами, называемыми операндами команд, содержимое которых при выполнении команды читается и/или записывается. Машины обычно представляют пользователю фиксированный набор элементарных команд. Для каждой из этих команд в аппаратуре машины имеется соответствующая ее часть для выполнения данной команды. Различают следующие типы команд:

  1.  команды загрузки и передачи;
  2.  арифметические команды (двоичная арифметика для чисел с фиксированной точкой, двоичная арифметика для чисел с плавающей запятой, десятичная арифметика);
  3.  логические операции, выполняемые поразрядно над двоичными словами, выполняемые поразрядно над двоичными словами;
  4.  операции с адресами;
  5.  команды сдвига и организационные команды;
  6.  команды завершения программы;
  7.  команды перехода и вызова подпрограмм;
  8.  команды ввода/вывода;
  9.  управляющие команды (привилегированные команды для изменения статуса программ).

Здесь команды классифицированы по их действию на различные составные части машины.

Основной формат кодирования команд Ассемблера (на примере IBM) имеет следующий вид:

 [метка] команда [операнд(ы)].

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

КОД        Обозначение

40 INC     AX   Увеличение АХ на 1

50 PUSH  AX   Запись АХ в стек

C3 RET (short)  Короткий возврат из процедуры

 CB RET (far)  Длинный возврат из процедуры

 FD STD   Установка флага направления

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

Пример.

Команда MOV с однобайтовым непосредственным операндом.

 MOV AH, 00 1011 0 100  00000000

                           w reg = AH

Первый байт машинного кода указывает на однобайтовый размер (w=0) и на регистр AH (100).  Следующая команда MOV содержит непосредственный двухбайтовый операнд:

MOV  AX,00 1011 1 000  00000000

                                  w reg=AX

Первый байт машинного кода указывает на размер в одно слово (w=1) и на регистр AX (000).

Обобщать приведенные примеры не следует, так как указание регистра и бита w может быть в различных позициях кода.

Двухбайтовые команды.

Рассмотрим пример сложения содержимого регистров DX и AX:

ADD BX, AX 0000 0011  11   011   000

                   dw mod   reg   r/m

d=1 означает, что биты reg и w описывают операнд 1 (BX), а биты mod, r/m и w — операнд 2 (AX); w=1 определяет размер регистров в одно слово; mod=11 указывает, что операнд 2 является регистром; reg = 011, указывает, что операнд 1 является регистром BX; r/m=000, указывает что операнд 2 является регистром AX.

Трехбайтовые команды.

Трехбайтовые команды можно рассмотреть на примере команды MOV.

MOV mem, AX  10100001 dddddddd  dddddddd

В данном примере w=1 означает слово, следовательно, предполагается 16-битовый регистр AX. Байты 2 и 3 содержат относительный адрес памяти.

2 Привести примеры одноадресных команд. Привести примеры двухадресных команд.

Ниже приведен формат двухадресной (двухоперандной) команды процессоров.

Основной формат кодирования команд Ассемблера для компьютеров фирмы IBM.

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

[метка] команда [операнд(ы)]

Метка (если имеется), команда и операнд (если имеется) pазделяются по крайней мере одним пробелом или символом табуляции. Максимальная длина строки - 132 символа, однако, большинство предпочитают работать со строками в 80 символов (соответственно ширине экрана). Примеры  кодирования: Метка Команда Операнд COUNT DB 1 ;Имя, команда, один операнд  MOV AX,0 ;Команда, два операнда Метка в языке ассемблера может содержать следующие символы:

Буквы: от A до Z и от a до z Цифры: от 0 до 9 Спецсимволы: знак вопроса (?) точка (.) (только первый символ) знак "коммерческое эт" (@) подчеркивание (-) доллар ($) Первым символом в метке должна быть буква или спецсимвол. Ассемблер не делает различия между заглавными и строчными буквами. Максимальная длина метки - 31 символ. Примеры меток: COUNT, PAGE25, $E10. Рекомендуется использовать описательные и смысловые метки. Имена регистров, например, AX, DI или AL являются зарезервированными и используются только для указания соответствующих регистров. Например, в команде ADD AX,BX ассемблер "знает", что AX и BX относится к регистрам. Однако, в команде MOV REGSAVE,AX ассемблер воспримет имя REGSAVE только в том случае, если оно будет определено в сегменте данных. В прил.3 приведен cписок всех зарезервированных слов ассемблера.

Команда Мнемоническая команда указывает ассемблеру какое действие должен  выполнить данный оператор. В сегменте данных команда (или директива) определяет поле, рабочую oбласть или константу. В сегменте кода команда определяет действие, например, пересылка (MOV) или сложение (ADD).

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

Метка Команда Операнд COUNTER DB 0 ;Определить байт (DB) с нулевым значением Команда может иметь один или два операнда, или вообще быть без операндов. Рассмотрим следующие три примера: Команда Операнд Комментарий  Нет операндов RET ;Вернуться Один операнд INC CX ;Увеличить CX  Два операнда ADD AX,12 ;Прибавить 12 к AX  Метка, команда и операнд не обязательно должны начинаться с какой-либо определенной позиции в строке. Однако, рекомендуется записывать их в колонку для большей yдобочитаемости программы. Для этого, например, редактор DOS EDLIN обеспечивает табуляцию через каждые восемь позиций.

Перечислить типы команд Ассемблера для компьютеров фирмы IBM

Ниже приведен примерный перечень команд Ассемблера для процессоров 80286, 80386.

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

AND: Логическое И. Команда выполняет поразрядную конъюнкцию (И) битов двух операндов. Операнды представляют собой одно- или двухбайтовые величины в регистре или памяти. Второй операнд может содержать непосредственные данные. Команда AND проверяет два операнда поразрядно. Если два проверяемых бита равны 1, то в первом операнде устанавливается единичное значение бита, в других случаях нулевое.

CMP: Сравнение. Выполняется сравнение содержимого двух полей данных. Фактически команда CPM вычитает второй операнд из первого, но содержимое полей не изменяет. Операнды должны иметь одинаковую длину: байт или слово. Команда может сравнивать содержимое регистра, памяти или непосредственное значение с содержимым регистра; или содержимое регистра или непосредственное значение с содержимым памяти.

JMP: Безусловный переход. Выполняется переход по указанному адресу при любых условиях. Команда JMP заносит в регистр IP необходимый адрес перехода. Существует пять типов команды JMP для передачи управления внутри сегмента или между сегментами. При межсегментном переходе в регистр CS заносится также новый сегментный адрес.

LOOP: Цикл. Данная команда управляет выполнением группы команд определенное число раз. До начала цикла в регистр CX должно быть загружено число выполняемых циклов. Команда LOOP находится в конце цикла, где она уменьшает значение в регистре CX на единицу. Если значение в регистре CX не равно нулю, то команда передает управление по адресу, указанному в операнде (прибавляет к регистру IP значение операнда); в противном случае управление передается на следующую после LOOP команду (происходит выход из цикла).

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

NEG: Изменение знака числа. Команда меняет двоичное значение из положительного в отрицательное и из отрицательного в положительное. Команда NEG вычисляет двоичное дополнение от указанного операнда: вычитает операнд из нуля и прибавляет единицу. Операндом может быть байт или слово в регистре или памяти.

NOT: Логическое НЕТ. Меняет нулевые биты на единичные  и наоборот. Операндом может быть байт или слово в регистре или памяти.

OR: Логическое ИЛИ. Команда выполняет поразрядную дизъюнкцию (ИЛИ) над битами двух операндов. Операндами являются байты или слова в регистрах или памяти, второй операнд может иметь непосредственное значение. Команда OR обрабатывает операнды побитово. Если любой из проверяемых бит равен единице, то бит в операнде 1 становится равным единице, в противном случае бит в операнде 1 не изменяется.

OUT: Вывод байта или слова в порт. Байт или слово из регистра передается в порт вывода. Порт кодируется как фиксированный числовой операнд или как переменная в регистре.

Составные части (поля) команд

Представление команд.

Команда содержит несколько составных частей (полей). Формат команды зависит от структуры машинных слов и обычно содержит:

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

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

Привести примеры использования команд Ассемблера


 

А также другие работы, которые могут Вас заинтересовать

21528. ОТРАВЛЕНИЯ ФИТОТОКСИКАНТАМИ 248.5 KB
  ВВЕДЕНИЕ Боевые фитотоксиканты БФТ фитотоксиканты боевого применения гербициды военного предназначения токсичные химические вещества предназначенные для поражения и уничтожения различных видов растительности с военными целями. Возможны поражения людей при вдыхании аэрозолей употреблении зараженных продуктов и воды. Производные дихлор и трихлорфеноксиуксусных кислот обладают сравнительно невысокой токсичностью но при действии в больших дозах могут наблюдаться тяжелые поражения смертельные отравления у человека возможны при...
21529. ОТРАВЛЯЮЩИЕ ВЕЩЕСТВА ОБЩЕТОКСИЧЕСКОГО ДЕЙСТВИЯ 126.5 KB
  Острые отравления: Руководство для врачей. НАГЛЯДНЫЕ ПОСОБИЯ Таблицы и слайды по теме: Отравления цианидами и монооксидом углерода. Известно также что в США применяется смертная казнь посредством отравления осужденных парами синильной кислоты в специальной камере. Могут быть и отравления цианидами вследствие употребления в пищу большого количества семян миндаля персика абрикоса вишни сливы и других растений семейства розовоцветных или настоек из их плодов.
21530. ПОРАЖЕНИЯ ОТРАВЛЯЮЩИМИ ВЕЩЕСТВАМИ ОБЩЕТОКСИЧЕСКОГО ДЕЙСТВИЯ: КЛИНИКА, ДИАГНОСТИКА, ЛЕЧЕНИЕ, ЭТАПНОЕ ЛЕЧЕНИЕ 127 KB
  К отравляющим веществам общетоксического действия относятся следующие вещества: синильная кислота цианистый калий натрий хлорциан бромциан моноОксид углерода. ОТРАВЛЕНИЯ МОНООКСИДОМ УГЛЕРОДА УГАРНЫМ ГАЗОМ. Монооксид углерода газ без цвета и запаха. Монооксид углерода относится к веществам общетоксического действия.
21531. ПРЕПАРАТЫ, ДЕЙСТВУЮЩИЕ НА СЕРДЕЧНО-СОСУДИСТУЮ СИСТЕМУ 140 KB
  Первое характеризуется увеличением сердечного индекса минутного объема сердца и массы циркулирующей крови при снижении общего периферического сопротивления второе снижением минутного объема сердца и массы циркулирующей крови при повышенном периферическом сопротивлении. В соматогенной фазе при отсутствии токсической концентрации химического вещества нарушения функции сердечнососудистой системы являются результатом развившегося повреждения ЦНС органов дыхания печени почек а также самого сердца. Развивается в результате...
21532. Общие принципы диагностики и лечения острых отравлений 203 KB
  Она складывается из трех основных направлений диагностических мероприятий: а клинической диагностики основанной на данных анамнеза результатах осмотра места происшествия и изучения клинической картины заболевания для выделения специфических симптомов отравления которое проводится врачом оказывающим больному медицинскую помощь на догоспитальном этапе или в стационаре; б лабораторной диагностики направленной на: Качественное и количественное определение идентификацию токсических веществ в биологических средах организма кровь моча...
21533. Анализ данных литературы по средствам и схемам неотложной терапии отравлений ФОС и веществами удушающего действия 72.5 KB
  Признаки поражения: небольшая одышка чувство стеснения в груди кашель головокружение тошнота общая слабость небольшое слюнотечение насморк не резко выраженная гиперемия слизистой оболочки зева и гортани; в легких возможны единичные сухие хрипы. В легких выслушивается значительное количество хрипов; при перкуссии обнаруживаются участки притупленнотимпанического звука. Развивается сравнительно благоприятно протекающий отек легких. Из осложнений могут быть: бронхопневмония плевропневмония тромбозы и эмфизема легких.
21534. КЛИНИКА, ДИАГНОСТИКА И ЛЕЧЕНИЕ ПОРАЖЕНИЙ ОТРАВЛЯЮЩИМИ ВЕЩЕСТВАМИ НЕРВНОПАРАЛИТИЧЕСКОГО ДЕЙСТВИЯ 166 KB
  28 12 99 10:43:23 Copyright to Meditox Pty Ltd 19992000 ПОРАЖЕНИЯ ФОВ: клиника диагностика лечение Введение. Прежде всего необходимо подчеркнуть что фосфорорганические отравляющие вещества ФОВ являются табельными ОВ стоящими на вооружениии армий США и стран НАТО. Поэтому военные врачи должны быть готовы к оказанию медицинской помощи пораженным ФОВ. Кроме того в практике военного врача возможны случаи отравлений фосфорорганическими инсектицидами ФОИ которые существенно отличаясь от поражений ФОВ темпами развития отравления...
21535. ФОСГЕН 32 KB
  В скрытый период интоксикации введение 100200 мг преднизолона внутривенно каждые 4 ч 50 мл 5 раствора аскорбиновой кислоты внутривенно или 2 г внутрь 10 мл 10 раствора кальция хлорида внутривенно кровопускание 250300 мл. При развитии отека легких оксигенотерапия с ингаляцией паров 70˚ этилового спирта пеногаситель введение 100200 мг метилпреднизолона внутривенно каждые 46 ч 50 мл 2 раствора фуросемида лазикса внутривенно 10001500 ЕД гепарина внутривенно каждые 115 ч 2 мл раствора кордиамина внутримышечно....
21536. Активная детоксикационная терапия 111.5 KB
  Методы детоксикационной терапии . При выраженных клинических проявлениях отравления после проведения мероприятий по стабилизации состояния больного обычно в комплекс терапии включают методы искусственной детоксикации. Свидетельством этого является возрастающая роль энтеросороции и активированного угля в терапии начальных этапов отравления и в предотвращении гепатоэнтеральной циркуляции токсина. Стимуляция выведения яда и его метаболитов почками Значительное число токсических веществ и их метаболитов элиминируются из организма почками...