- •Лабораторная работа № 1 Ознакомление с работой учебной микроЭвм и процессом ввода-вывода информации
- •1 Цель работы
- •2 Теоретические сведения
- •1 3
- •2.1 Принцип работы микроЭвм
- •0000 03Ff 8000 83e0 8400 87ff ffff
- •2.2 Представление информации в микроЭвм
- •2.3 Инструкция по эксплуатации уоу "Электроника-580"
- •2.3.1 Индикатор адреса и данных
- •2.3.2 Ввод команд и данных в озу
- •2.3.3Чтение и запись информации в регистры
- •2.3.4 Чтение содержимого озу или ппзу
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требование к отчету
- •2.1 Команды передачи данных
- •2.2 Арифметические команды
- •2.3 Логические команды
- •2.4 Команды передачи управления
- •2.5 Команды ввода и вывода , обращения к стеку и управления микропроцессором
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Лабораторная работа № 3 Подпрограмма и стек
- •1 Цель работы
- •2 Теоретические сведения
- •2.1 Использование стековой памяти
- •3. Порядок выполнения работы
- •4 Контрольные вопросы
- •3 Порядок выполнения работы
- •Перечень заданий
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Список литературы
- •Уфимский Государственный Авиационный Технический Университет
- •450000, Уфа-центр, ул. К. Маркса, 12
2.3 Логические команды
Задачей этих команд является выполнение поразрядной конъюнкции, дизъюнкции , сложения по модулю 2 , сравнения содержимого А и Ri или А и V, а также циклического сдвига операндов в А (таблица 2.1). Например, команда XRA M( код- AE(16)) осуществляет сложение по модулю 2 содержимого ячейки памяти М, расположенной по адресу, находящемуся в H,L, с аккумулятором , результат операции размещает в А.
1010 1011 = А
1100 1100 = М
0110 0111 А
Команды сдвига осуществляют сдвиг чисел на один разряд циклически через разряд СУ регистра F
RAL
СУ b7 A L1 b0 L1(A,СУ), СУ b7
RAR
СУ b7 A R1 b0 R1(СУ,А), СУ b0
или с занесением крайних цифр А в разряд СУ регистра
RLC
СУ b7 A L1 b0 L1(A,b7), СУ b7
RRC
СУ b7 A R1 b0 R1(b0,A), СУ b0
При выполнении команд сравнения операндов CMP Ri , CPI V разряды Z и СУ регистра F устанавливаются в значения аналогично операции вычитания.
STC осуществляет присвоение СУ=1;
CMC инвертирует значение переноса СУ=;
СМА инвертирует все разряды А=.
2.4 Команды передачи управления
Четвертая группа команд содержит команды перехода, вызова, возврата и повторного запуска. Эта группа предназначена для изменения естественного порядка следования команд.
JMP aa - безусловный переход к команде, находящейся в ячейке ( байт3, байт2 = аа ).Второй и третий байты команды загружаются в W,Z и РС, а через регистр адреса, команда извлекает очередную необходимую команду программы.
JNZ аа извлекает команду аналогично JMP только при Z=0, в противном случае извлекается следующая по порядку команда, PC=PC+1. Таким же образом выполняются команды условного перехода JN, JNC, JPO, JPE, JP, JM в зависимости от состояний разрядов Z ,СУ, P, S регистра F.
PCHL передает содержимое регистровой пары H,L в счетчик команд, тем самым следующие команды извлекаются по адресу в РС.
CALL aa вызывает начальную команду подпрограммы, расположенной по адресу аа(16)= байт3 байт2 команды. При этом адрес следующей команды запоминается занесением в стековую память: в ячейку памяти М(SP-1) заносятся старшие разряды РС(РСН), в ячейку М(SP-2)- младшие PCL, значение указателя стека SP уменьшается на 2. Данная команда осуществляет безусловный переход к подпрограмме, однако часто требуется переход к подпрограмме в зависимости от состояния регистра F. Для этой цели используются следующие разновидности команды CALLаа :
CNZ аа(С4), CZ аа(СС), CNC аа(D4), CC aa(DC), CPO aa(E4), CPE aa(EC), CP aa(F4), CM aa(FC).
В этих командах проверяются условия аналогично командам условного перехода и при истинности условий реализуют функции CALLaa , т.е. осуществляют переход к подпрограмме по адресу аа с занесением содержимого РС в стековую память. Если условие не выполняется, реализуется следующая команда РС+1 основной программы .
RET - безусловный возврат к команде основной программы : её адрес загружается из вершины SГ стековой памяти, к указателю стека прибавляется 2. Возможен также возврат по условию с использованием команд: RNZ(C0), RZ(C8), RNC(D0), RC(D8), RPO(E0), RPE(E8), RP(F0), RM(F8).
RSTi*8 - повторный пуск (рестарт) осуществляет прерывание выполнения основной прграммы, адрес команды основной программы передается в стековую память аналогично командам CALLaa. Счетчик команд загружается фиксированным адресом ППЗУ. Так, команда RST7*8 загружает РС адресом 0038(16)=8*7=56(10). Команды RST позволяют использовать подпрограммы монитора для организации процесса вычислений .