КОМАНДЫ ПЕРЕХОДА И ВЫЗОВА ПОДПРОГРАММ

Лабораторная работа №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

 

КОМАНДЫ ОБРАБОТКИ ДАННЫХ

 

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

 

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

Команды обработки данных выполняют арифметические операции над содержимым А-регистра и регистра 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

 

КОМАНДЫ ПЕРЕХОДА И ВЫЗОВА ПОДПРОГРАММ

 

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

 

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

Команды перехода, называемые также командами ветвления, позволяют организовать в программах циклы и разветвления. Команды вызова подпрограмм дают возможность сократить объем разрабатываемых программ за счет повторного использования подпрограмм. Наличие в микропроцессоре стека с указателем стека делает возможным возврат в главную программу после выполнения подпрограммы с помощью команд возврата.

 

Команды перехода и вызова подпрограмм можно разделить на следующие группы:

 

·   команды переходов (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)

 

  1. Порядок выполнения работы

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; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!