КОМАНДЫ ПЕРЕХОДА И ВЫЗОВА ПОДПРОГРАММ
Лабораторная работа №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 и Е.
Порядок выполнения работы
Вывод: В ходе работы изучили команды передачи данных и получили практические навыки работы с командами передачи данных
Лабораторная работа №2
КОМАНДЫ ОБРАБОТКИ ДАННЫХ
Цель работы : Изучить команды обработки данных и получить практические навыки работы с ними
- Краткие сведения из теории
Команды обработки данных выполняют арифметические операции над содержимым А-регистра и регистра R, регистровой парой, ячейкой памяти или непосредственными данными. Выполнение почти всех команд изменяет значение регистра флагов F.
Команда DAA – десятичная коррекция содержимого регистра преобразовывает данные регистра А по следующему принципу:
|
|
Если младшая тетрада А-регистра больше 9 или флаг АС=1, то содержимое А-регистра увеличивается на 6, а к старшей тетраде прибавляется 1. Затем, если старшая тетрада А-регистра больше 9 или флаг CY=1, то содержимое А-регистра увеличивается на 60 H.
Порядок выполнения работы:
Задание: В-А+С -> D.
MVI B, 18
MVI A, 25
MVI C, 48
MOV E, A
MOV A, В
SBB Е
ADD C
MOV D, A
Вывод: В ходе работы изучили команды обработки данных и получить практические навыки работы с ними.
Лабораторная работа №3
КОМАНДЫ ЛОГИЧЕСКИХ ОПЕРАЦИЙ
Цель работы : Изучить команды логических операций и получить практические навыки работы с ними.
Краткие сведения из теории
Команды логических операций выполняют логические операции над содержимым А-регистра и регистра R, ячейкой памяти или непосредственными данными.
Команды логических операций можно разделить на следующие группы:
· команды логической операции И (ANA, ANI);
· команды логической операции ИЛИ (ORA, ORI);
· команды логической операции исключающее ИЛИ (XRA, XRI);
· команды сравнения (CMP, CPI);
· команды циклических сдвигов (RAR, RAL, RLC, RRC);
· команды дополнений (CMA, CMC);
· команда установки признака переноса (STC).
Выполнение почти всех команд изменяет значение регистра флагов F.
Порядок выполнения работы:
Задание: В числе 1F разряд 5 заменить 1, разряд 4 – 0, разряд 1 инвертировать, и записать в регистр В.
MVI B, 1F
MOV A, B.
ORI 20
ANI DF
XPI 02
MOV A, B.
Вывод: В ходе работы изучили команды логических операций и получить практические навыки работы с ними.
Лабораторная работа №4
КОМАНДЫ ПЕРЕХОДА И ВЫЗОВА ПОДПРОГРАММ
Цель работы : Изучить команды перехода и вызова подпрограмм и получить практические навыки работы с ними.
- Краткие сведения из теории
Команды перехода, называемые также командами ветвления, позволяют организовать в программах циклы и разветвления. Команды вызова подпрограмм дают возможность сократить объем разрабатываемых программ за счет повторного использования подпрограмм. Наличие в микропроцессоре стека с указателем стека делает возможным возврат в главную программу после выполнения подпрограммы с помощью команд возврата.
Команды перехода и вызова подпрограмм можно разделить на следующие группы:
· команды переходов (JMP, JC, JNC, JZ, JNZ, JP, JM, JPO, JPE);
· команды вызова подпрограмм (CALL, CC, CNC, CZ, CNZ, CP, CM, CPO, CPE);
· команды возврата (RET, RC, RNC, RZ, RNZ, RP, RM, RPO, RPE);
· команды рестартов (RST0, RST1, RST2, RST3, RST4, RST5, RST6, RST7);
· команда записи содержимого H-пары в программный счетчик (PCHL).
Ни одна из команд этой группы не изменяет содержимое регистра признаков F.
Порядок выполнения работы:
MVI A, 00
M2 ADD B.
JNC M1
INR D.
M1 MOV E, A
DRC C
JNZ M2
Вывод: В ходе работы изучили команды перехода и вызова подпрограмм и получить практические навыки работы с ними.
Лабораторная работа №5
КОМАНДЫ УПРАВЛЕНИЯ ПРОЦЕССОМ
Цель работы : Изучить команды управления процессором и получить практические навыки работы с ними.
Краткие сведения из теории
Команды управления процессором позволяют осуществлять управление работой процессора, его остановку и взаимодействие с внешними устройствами.
Команду управления процессором можно разделить на следующие группы:
· команды работы со стеком (PUSH PSW, PUSH RR, POP PSW, POP RR, XTHL, SPHL);
· команды работы с портами (IN B2, OUT B2);
· команды работы с прерываниями (EI, DI);
· команда останова (HLT);
· команда пустой операции (NOP)
- Порядок выполнения работы
MVI B, FF
LXI H, 00 09
MOV C, H
M2 INX H
MOV A, M
CMP C
JNC M1
MOV C, A
M1 DCR B
JNZ M2
Вывод: В ходе работы изучили команды управления процессором и получить практические навыки работы с ними.
Дата добавления: 2023-02-21; просмотров: 37; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!