Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по лабам Барсуков.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
721.41 Кб
Скачать

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

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

Цель работы: Изучить команды передачи данных, получить практические навыки работы с командами передачи данных

 

1. Краткие сведения из теории

 

Каждая команда описывается по следующей схеме: мнемокод и имя команды; формат и объектный код операции команды; описание операций, реализуемых командой на языке микроопераций; пояснения символической записи и детализация условий выполнения команды (если это необходимо); схема выполнения операции в МП-системе (для некоторых команд).

Для детального изучения команд используются следующие мнемонические обозначения (табл. 2.1.):

Таблица 2.1. – Условные мнемонические обозначения

 

А

Регистр-аккумулятор

addr

16-разрядный адрес внешней памяти

data 8

8-разрядный операнд данных

data 16

16-разрядный операнд данных

byte 2

содержимое второго байта в многобайтных командах

byte 3

содержимое третьего байта в многобайтных командах

port

8-разрядный адрес интерфейса ввода-вывода (I/O);

M

ячейка памяти, адресуемая содержимым H-пары регистров

R1, R2, R

один из регистров с именами А, В, С, D, E, Н или L, принадлежащих блоку РОН

RH, RL

старший и младший полубайты регистра R

DDD, SSS

3-разрядные поля в формате команды, адресующие один из регистров блока РОН, или в качестве места назначения (D — destination) передачи, или в качестве источника (S — source) операнда

RR (register pair)

пара 8-разрядных регистров ВС, DE, HL, SP, которые адресуются как один регистр при операциях с 16-разрядными словами

RP

2-разрядное поле в формате команды, адресующее пару регистров

RL (low)

младший регистр в паре

RH (high)

старший регистр в паре

PC (programm counter)

16-разрядный счетчик команд (программный счетчик)

PCH, PCL

старший и младший регистры программного счетчика PC

SP (stack pointer)

16-разрядный регистр-указатель стека

Rm

номер разряда в регистре R (7 ≥ m ≥ 0)

п

восьмеричный вектор в команде RESTART

NNN

двоичное представление вектора в команде RESTART

(IS TRANSFERED TO) ←

оператор пересылки

(EXCHANGE) ↔

оператор обмена

Λ (AND)

оператор И

V (OR)

оператор ИЛИ

" (exclusive OR)

оператор исключающее ИЛИ

ONE'S COMPLEMENT

оператор инверсии, дополнение до единицы (например, Ā)

+ (ADD)

оператор арифметического сложения

— (TWO'S COMPLEMENT SUBTRACTION)

оператор арифметического вычитания с использованием дополнительного кода

( )

содержимое регистра или ячейки памяти

( )( ) (CONCATANA-TION)

оператор конкатенации (соединения); при выполнении конкатенации содержимое двух 8-разрядных регистров рассматривается как одно 16-разрядное слово

 

Команды передачи данных или команды перемещения (пересылки) данных в зависимости от используемых устройств разделяют на команды загрузки, пересылки и записи в память. Результат выполнения этих команд не влияет на состояние регистра флагов F.

MOV R1, R2 (move register) – пересылка (копирование) данных из регистра R2 в регистр R1.

Команда MOV R1, R2 может быть использована для создания копий некоторых переменных (COPY), которые многократно используются при вычислениях. Кроме того, она позволяет организовать процедуру обмена байтами (EXCHANGE BYTES) в операциях, где операнды неравнозначны (вычитание, деление и т. п.) и возникает необходимость поменять их местами. Естественно, что, прежде чем оперировать данными с регистровой адресацией, они должны быть загружены из внешней памяти в блок РОН.

MOV R, M (move from memory) — пересылка данных из памяти в регистр.

MOV M, R (move to memory) —пересылка данных из регистра в память.

MVI R, data 8 (move immediate) — переслать непосредственные данные в регистр.

MVI M, data 8 (more to memory immediate) — переслать непосредственные данные в ячейку памяти, адрес которой хранится в паре HL.

LXI RP, data 16 (load register pair immediate) —непосредственная загрузка регистровой пары (16-разрядный операнд).

LDA addr (load direct) — прямая загрузка аккумулятора.

STA addr (store A direct) — прямое запоминание аккумулятора.

LHLD addr (load H and L direct) — прямая загрузка Н-пары регистров.

SHLD addr (store H and L direct) — прямое запоминание Н-пары регистров.

STAX RP (store A indirect) — косвенное запоминание аккумулятора.

XCHG (exchange H and L lath D and E) — обменять содержимое пары регистров H и L с содержимым пары регистров D и Е.