
- •Команды передачи данных
- •1. Краткие сведения из теории
- •Порядок выполнения работы
- •Команды обработки данных
- •Краткие сведения из теории
- •Порядок выполнения работы:
- •Команды логических операций
- •1. Краткие сведения из теории
- •Порядок выполнения работы:
- •Команды перехода и вызова подпрограмм
- •Краткие сведения из теории
- •Порядок выполнения работы:
- •Команды управления процессом
- •1. Краткие сведения из теории
- •Порядок выполнения работы
Лабораторная работа №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 и Е.