Методическое пособие по решению задач лабораторного практикума по курсу "ЭВУ и системы" (изучение архитектуры и системы команд INTEL-совместимых микропроцессоров). Коршунов А.Д. - 4 стр.

UptoLike

Составители: 

4
1. Система команд Intel8086-совместимых микропроцессоров
Каждая команда, используемая в программах на языке Ассемблер, имеет своё
мнемоническое обозначение (мнемокод). Кроме того, во многих командах программист
должен указать ссылки на те данные, которые программа должна обработать - так
называемые операнды. Операндов может быть два (в случае двуместных команд) или
один (в случае одноместных команд).
Так, если мы хотим сложить два числа, то должны знать:
1. где находится первое слагаемое;
2. где находится второе слагаемое;
3. куда поместить результат (сумму).
Сложение (ADD) в нашем примере - это двуместная команда, следовательно, мы
должны задать два операнда, описывающие первое и второе слагаемые. Где же окажется
результат? Микропроцессоры фирмы Intel устроены так, что результат в
двуместных
командах всегда записывается на место первого операнда (бывшее там значение
теряется). Команда
ADD AX, CX
выполнит сложение содержимого регистров AX и CX, причём результат (сумма) окажется
записанной в AX. Значение (двоичный код), находившийся в регистре AX до
выполнения команды, будет потерян.
Другой пример. Пусть в регистре DX находится двоичный код, представляющий
некое целое число со знаком, и мы хотим изменить знак этого числа на противоположный
(скажем, 5 на -5). Соответствующая команда (Negative), очевидно, будет одноместной, и
запишется так:
NEG DX
Существуют команды, которые не нуждаются в указании операндов, так как
обрабатывают данные, находящиеся всегда в одном и том же месте. К ним относится,
например, команда так называемой табличной перекодировки. Запись этой команды в
программе будет состоять только из одного мнемокода:
XLAT
Команды, которые предстоит использовать на лабораторных занятиях, можно
разделить на несколько групп. Каждую группу удобно представить в виде таблицы.
Сокращения “op1”, “op2”, “op” обозначают первый, второй или один-единственный
операнд в той или иной команде.
Для каждой команды будут приведены её название, общий вид и краткое описание
действия, производимого командой. Поскольку краткое описание далеко не всегда
исчерпывает смысл той или иной команды, ниже будут более подробно рассмотрены
особенности применения наиболее сложных команд.
При использовании команд их можно набирать как строчными, так и заглавными
буквами (например, “mov” и “MOV” - это одно и то же).
                                                                                     4


 1. Система команд Intel8086-совместимых микропроцессоров

       Каждая команда, используемая в программах на языке Ассемблер, имеет своё
мнемоническое обозначение (мнемокод). Кроме того, во многих командах программист
должен указать ссылки на те данные, которые программа должна обработать - так
называемые операнды. Операндов может быть два (в случае двуместных команд) или
один (в случае одноместных команд).
       Так, если мы хотим сложить два числа, то должны знать:
           1. где находится первое слагаемое;
           2. где находится второе слагаемое;
           3. куда поместить результат (сумму).
       Сложение (ADD) в нашем примере - это двуместная команда, следовательно, мы
должны задать два операнда, описывающие первое и второе слагаемые. Где же окажется
результат? Микропроцессоры фирмы Intel устроены так, что результат в двуместных
командах всегда записывается на место первого операнда (бывшее там значение
теряется). Команда

      ADD AX, CX
выполнит сложение содержимого регистров AX и CX, причём результат (сумма) окажется
записанной в AX. Значение (двоичный код), находившийся в регистре AX до
выполнения команды, будет потерян.
       Другой пример. Пусть в регистре DX находится двоичный код, представляющий
некое целое число со знаком, и мы хотим изменить знак этого числа на противоположный
(скажем, 5 на -5). Соответствующая команда (Negative), очевидно, будет одноместной, и
запишется так:

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

      XLAT
      Команды, которые предстоит использовать на лабораторных занятиях, можно
разделить на несколько групп. Каждую группу удобно представить в виде таблицы.
Сокращения “op1”, “op2”, “op” обозначают первый, второй или один-единственный
операнд в той или иной команде.
      Для каждой команды будут приведены её название, общий вид и краткое описание
действия, производимого командой. Поскольку краткое описание далеко не всегда
исчерпывает смысл той или иной команды, ниже будут более подробно рассмотрены
особенности применения наиболее сложных команд.
      При использовании команд их можно набирать как строчными, так и заглавными
буквами (например, “mov” и “MOV” - это одно и то же).