Базовая система команд

Опубликовано декабря 18, 2017 в Архитектура процессора Intel

Она включает в себя более 100 различных мнемокодов команд (мнемокод — ото буквенное кодирование операций).

С учетом разнообразных форматов команд и режимов адресации число разнообразных машинных команд, по мнению фирмы Intel, составляет более 3800.

По функциональному назначению команды можно разделить на следующие типы:

1. команды передачи данных и адресов;

2. арифметические команды;

3. логические команды;

4. команды сдвигов;

5. команды управления программой (переходы, вызовы, возвраты и т.д.);

6. команды обработки строк (цепочек);

7. команды управления процессором.

Команды передачи данных и адресов

Базовая система команд

Общие передачи данных

MOV (MOVe data) — пересылка данных.

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

В ассемблерной нотации команда представляется в виде: MOV dst, src.

Содержимое src пересылается на место dst (dst — приемник, sre — источник).

В зависимости от используемого формата и режима адресации команда MOV может реализовать следующие передачи данных:

Профессиональное восстановление данных в Петербурге, с жесткого диска, флешки, телефона, фотоаппарата и прочих гаджетов. Полная конфиденциальность! Срочные услуги!

1. reg -> reg (reg — регис тр общего назначения);

2. imm -> reg;

3. imm -> mem;

4. reg mcm;

5. mem reg;

6. reg -> sr;

7. mem sr;

8. sr -> reg;

9. sr -> mem.

Направление пересылки в машинном формате команды определяется специальным битом d (direct) кода операции. С помощью команды MOV нельзя реализовать пересылки типа:

1. mem -> mem;

2. sr -> sr;

3. imm -> sr;

4. dst Ф CS (В качестве приемника нс может использоваться сегментный регистр CS — сегмент кода).

Примеры:

  • MOV АХ, ВХ — передача содержимого регистра ВХ в регистр АХ;
  • MOV AL, AH — передача содержимого регистра АН в регистр AL;
  • MOV CL, 100 — непосредственный операнд (константа) передается в регистр CL;
  • MOV DS, AX — передача содержимого регистра АХ в DS.

Команда не влияет на арифметические флаги.

XCHG (eXIIanGe register/memory with register ) — обмен данными.

Команда производит взаимный обмен значениями между операндом-источником и операндом-приемником.

Ассемблерная нотация команды: XCHG opl, ор2.

В качестве операндов могут использоваться reg, mem. Оба операнда не могут быть операндами из памяти.

Пример:

XCHG АХ.ВХ — меняется местами содержимое регистров АХ и ВХ. Значения флагов не меняются.