Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Система команд процессора 80386






 

Система команд процессоров фирмы Intel сложилась исторически, начиная с первых разработок фирмы. Все микропроцессоры этой фирмы совместимы снизу вверх, что чрезвычайно привлекательно всем разработчикам программных продуктов. Для исследования работы процессора очень удобна система команд процессора 80386, так как она позволяет использовать как 16, так и 32-разрядные регистры процессора.

Важным для команд является понятие “операнд”. Это то значение данных, которое обрабатывает команда. Операнд обычно рассматривается в качестве “источника” или “приемника”, в зависимости от того, берет ли команда данные из него или помещает данные в операнд. Приемниками могут быть регистры или ячейки памяти, а источниками - еще и непосредственные данные. Обычно операнды могут иметь любой размер (байт, слово, двойное слово и т.д.). В команде после кода операции ставится приемник и через запятую источник. В большинстве команд с несколькими операндами все операнды должны иметь одинаковый размер (тип). Место нахождения операнда (память или регистр) определяется форматом команды.

В таблице 3.1 в алфавитном порядке, перечислены наиболее распространенные команды. Этих команд обычно бывает достаточно для составления простых программ и выполнения контрольных заданий. Если вы внимательно изучите эти команды, то составление простых программ на ассемблере не доставит вам никаких трудностей. Если вы просматриваете эти учебные пособия на компьютере, то можете быстро перейти на подробное описание необходимой команды, нажав Ctrl и щелкнув на нужной команде в таблице 3.1. Подробное описание этих команд приведено в первом разделе этой главы. Примеры программ на ассемблере приведены в главе 5.

Таблица 3.1-Наиболее распространенные команды ассемблера

Мнемокод Назначение
  ADC r, r/m./im Сложить два операнда с учетом флага переноса
  ADD r/m, m/im/r Сложить два операнда
  CALL label Вызов процедуры
  CBW Конвертировать байт в слово
  CMP r/m, im/im Сравнить два операнда
  CWD Конвертировать слово в двойное слово
  DEC r/m/im Декремент (уменьшение) операнда на 1
  DIV r/m Целочисленное деление без знака
  IDIV r/m Целочисленное деление со знаком
  IMUL r/m Целочисленное умножение со знаком
  INC r/m/im Инкремент (увеличение) операнда на 1
  INT im Вызов прерывания
  JE label Перейти на метку label, если равно (ZF =1)
  JG label Перейти на метку label, если больше (SF=OF)
  JL label Перейти на метку label, если меньше (SF< > OF)
  JMP label/r/m Перейти на метку label безусловно
  JS label Перейти на метку label, если знак (SF=1)
  JZ label Перейти на метку label, если ноль (ZF=1)
  LEA r, r/m Загрузка смещения эффективного адреса
  LOOP label Управление циклом
  MOV r/m, r/m/im Пересылка данных
  MUL r/m Беззнаковое умножение
  NOT r/m Инвертирование (логическое НЕ)
  POP r/m Извлечь данные из стека в операнд
  PUSH r/m Переслать операнд в стек
  RET Возврат в основную программу
  SUB r/r/m/r, r/r/m/im Вычитание
  TEST r/m, r/m/im Логическое сравнение
  XCHG r/m, r/m Обмен операндами
  XOR r, r/m/im Исключающее ИЛИ (неравнозначность)





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.