Дон ГТУ
Лабораторная работа № 4
Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80
Цель лабораторной работы - изучить программирование циклических и типовых программ на Ассемблере для микропроцессора КР580Ик80.
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1. Команды, необходимые для организации разветвлений и циклических структур в программах
1.1 Логические команды над аккумулятором и регистром (табл.1.1)
Имеем в виду, что главным назначением команд этой группы является выработка признаков. Результат логической операции записывается в аккумулятор, заменяя первый операнд.
Таблица 1.1 – Логические команды
Команды Признаки Выполняемые функции Команды Признаки Выполняемые функции Z N C H P Z N C H P ANAR + + 0 + + (A)^(R)→A ANAM + + 0 + + (A)^(M)→A ANI Im + + 0 0 + (A)^Im→A XRAR + + 0 0 +
(A)(R)→A
XRI Im + + 0 0 +
(A)Im→A
XRAM + + 0 0 +
(A)(M)→A
ORAR + + 0 0 +
(A)(R)→A
ORI Im + + 0 0 +
(A)Im→A
ORAM + + 0 0 +
(A)(M)→A
CMPR + + + + + (A)~(R) CPI Im + + + + + (A)~Im CMPM + + + + + (A)~(M)
Условные обозначения: R – общее обозначение одного из регистров общего назначения(РОН) – A, B, C, D, E, H, L; M – адрес ячейки памяти, хранящийся в двух смежных РОН H и L; SP – стек; YSP – указатель стека; CzK – счетчик команд; Im – непосредственный операнд; Ag – адрес ячейки памяти, с которой работает данная команда. Запись (R) означает содержимое регистра, нуль в графике «признаки» - установку в нуль при выполнении команды, а плюс – установку признака в соответствии с правилом установки флага.
Помните, что логические операции работают с каждыми из восьми битов независимо.
ANA «и» XRA «искл. или» ORA «или»
0 ^ 0→0 00→0 00→0
0 ^ 1→0 01→1 01→1
1 ^ 0→0 10→1 10→1
1 ^ 0→0 11→0 11→1 1 ^ 1→0
Команда CMP вычитает из содержимого аккумулятора второй операнд (не изменяя оба), формирует признаки по правилам команд вычитания.
1.2 Команды инкрементирования и декрементирования (табл.1.2)
Примите к сведению, что команда INR (инкрементирование) увеличивает на единицу содержимое регистра или байта памяти, а команда DCR (декрементирование) уменьшает на единицу это содержимое. Эти команды не используют и не изменяют значение бита переноса, а остальные биты признаков вырабатывают по общим правилам.
Таблица 1.2 – Инкрементирование и декрементирование
Команды Признаки Выполняемые функции Z N C H P INR R + + - + + (R)+1→R INR M + + - + + (M)+1→R DCR R + + - + + (R)-1→R DCR M + + - + + (M)-1→R
1.3 Команды изменения содержимого аккумулятора (табл. 1.3)
Команды этой группы работают только с содержанием аккумулятора, поэтому адресной команды не имеют.
Таблица 1.3 – Изменение содержания аккумулятора
Команды Признаки Выполняемые функции Z N C H P RLC - - + - - Am→Am+1, A7→Ao, A7→C RRC - - + - - Am+1→Am, Ao→A7, Ao→C RAL - - + - - Am→Am+1, C→Ao, A7→C RAR - - + - - Am+1→Am, Ao→C1, C→A7 CMA - - + - -
, инвертирование
Обратите внимание, что команда RLC устанавливает бит переноса в состояние, равное значению старшего разряда сумматора. ............