Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Micro_systK.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

Система команд микропроцессора Intel 8086 Команды пересылки данных

Команды пересылки данных обеспечивают пересылку информации между внутренними регистрами МП, Между внутренними регистрами и ячейками памяти. Операндами в командах могут быть байты, слова и двойные слова. При выполнении команд пересылки данных содержимое регистра флагов не изменяется. Команды пересылки МП Intel 8086 представлены в табл. П.1. В таблице использованы следующие условные обозначения:

  • op, op1, op2 – операнды;

  • i8, i16, i32 – 8-,16-и 32-разрядные константы находящиеся непосредственно в командах;

  • r8, r16 – имя регистра РОН, содержащего 8-разрядный или 16-разрядный операнд;

  • sr – имя сегментного регистра, содержащего 16-разрядный операнд;

  • m8, m16, m32 – адрес ячейки памяти, содержащей 8-,16- или 32-разрядный операнд;

  • А исп. – исполнительный адрес операнда;

  • [ x] – содержимое ячейки памяти;

  • n – 8-разрядный номер порта, принимающий значения в диапазоне от 0 до 255.

Таблица П.1. Команды пересылки данных

Мнемоника

Операция

Допустимые комбинации операндов

Описание команды

op1

op2

MOV op1,op2

op1:=op2

r8

m8

r16

sr

(кроме CS)

m16

i8, r8, m8

i8, r8

i16,r16,sr, m16 m16, r16

i16,r16,sr

Пересылка

(move)

XCHG op1,op2

op1= op2

r8

m8

r16

m16

r8, m8

r8

r16,m16

r16

Перестановка

(exchange)

PUSH op

SP:=(SP-2)

mod 216

op[SS:SP]

r16,sr,m16

Запись слова в стек

PUSHF

SP:=(SP-2)

mod 216

Flags[SS:SP]

Запись регистра флагов в стек

POP op

[SS:SP] op

SP:=(SP+2)

mod 216

r16, sr (кроме CS), m16

Чтение слова из стека

POPF

[SS:SP] Flags

SP:=(SP+2)

mod 216

Чтение регистра флагов из стека

LAHF

AH:= Flags(7-0)

Загрузка младшего байта регистра Flags в регистр AH (load AH from Flags)

SAHF

Flags(7-0):= AH

Загрузка регистра AH в младший байт регистра Flags

(save AH into Flags)

XLAT

AL:=

[BX+AL]

Перекодировка

(translate)

LEA op1, op2

r16:=Aисп.

r16

Aисп.

Загрузка исполнительного адреса (load effective address)

LDS op1,op2

r16:=[m32]

DS:=[m32+2]

r16

m32

Загрузка указателя в DS (load pointer using DS)

LES op1,op2

r16:=[m32]

ES:=[m32+2]

r16

m32

Загрузка указателя в ES (load pointer using ES)

IN op1,op2

op1:=op2

AL

AX

n, DX

n, DX

Чтение из порта

OUT op1,op2

op1:=op2

n, DX

n, DX

AL

AX

Запись в порт

Для задания адресов op1 и op2 могут быть использованы следующие виды адресации:

  • прямая;

  • регистровая;

  • косвенная регистровая;

  • базовая;

  • индексная;

  • базово-индексная.

В командах MOV один из операндов должен быть регистром. В командах LEA, LDS и LES для операнда op2 не может быть использована регистровая адресация.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]