Название: Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80
Вид работы: лабораторная работа
Рубрика: Информатика
Размер файла: 38.78 Kb
Скачать файл: referat.me-133161.docx
Краткое описание работы: Дон ГТУ Лабораторная работа № 4 Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80 Цель лабораторной работы - изучить программирование циклических и типовых программ на Ассемблере для микропроцессора КР580Ик80.
Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80
Дон ГТУ
Лабораторная работа № 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 0 0→0 0
0→0 0 0→0
0→0
0 ^ 1→0 0 1→1 0
1→1 0 1→1
1→1
1 ^ 0→0 1 0→1 1
0→1 1 0→1
0→1
1 ^ 0→0 1 1→0 1
1→0 1 1→1 1 ^ 1→0
1→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 устанавливает бит переноса в состояние, равное значению старшего разряда сумматора. Содержимое сумматора циклически сдвигается влево на одну позицию с переносом значения самого старшего разряда в самый младший разряд сумматора.
1.4 Команды изменения признака (флага) переноса
Примите к сведению, что для изменения флага переноса используются две команды: STS – установка в один; CMC – установка в 0.
1.5 Команды условных переходов
Команды условных переходов используют раннее выработанные значения признаков, сами их не изменяют.
Имейте в виду, что если заданное в операции условие выполняется, адрес из второго и третьего блока команды заносится в счетчик команд, т.е. выполнение программы начинается с команд расположенных по этому адресу, в противном случае выполняется следующая по порядку команда
Таблица 1.4 – Команды условных переходов
| Команды | Пояснение | 
| JMP Ag | Ag→C2K(безусловный переход к команде Ag) | 
| JC Ag | (C)=1, то Ag→C2K, иначе (С2К)+3→ С2К | 
| JNC Ag | (C)=0, то Ag→C2K, иначе (С2К)+3→ С2К | 
| JZ Ag | (Z)=1, то Ag→C2K, иначе (С2К)+3→ С2К | 
| JNZ Ag | (Z)=0, то Ag→C2K, иначе (С2К)+3→ С2К | 
| JP Ag | (N)=0, то Ag→C2K, иначе (С2К)+3→ С2К(переход по «+») | 
| JM Ag | (N)=1, то Ag→C2K, иначе (С2К)+3→ С2К(переход по «-») | 
| JPE Ag | (P)=1, то Ag→C2K, иначе (С2К)+3→ С2К(переход по четности) | 
2 ЭКСПЕРИМЕНТАЛЬНЫЕ ИСЛЕДОВАНИЯ
Задание: Найти 
Заносим в ячейку памяти, начиная с номера 8500, четыре числа I1=4, I2=8, I3=6, I4=3.
Используя полученные числа, составим программу, наберем программу на ЭВМ, и получим результат.
8500 04
8501 08
8502 06
8503 03
Таблица 2.1 – Программа на ассемблере.
| Адрес | Код команды | Метка | Мнемоника | |
| 8200 8201 | 06 04 | PRG 1: | MVI B, 4 | |
| 8202 8203 8204 | 21 00 85 | LXI H, 8500 | ||
| 8205 | 7E | M1: | MOV A, M | |
| 8206 | 05 | M2: | DCR B | |
| 8207 8208 8209 | CA 12 82 | JZ M3 | ||
| 820А | 23 | INR H | ||
| 820В | BE | CMP H | ||
| 820C 820D 820E | DA 05 82 | JC M1 | ||
| 820F 8210 8211 | C3 06 82 | JMP M2 | ||
| 8212 | 7E | M3: | MOV A, M | |
| 8213 | 5F | MOV E, A | ||
| 8214 8215 | 16 | MVI D, 03 | ||
| 03 | ||||
| 8216 | A7 | ANA A | ||
| 8217 8218 8219 | 21 00 08 | LXI H, 0008 | ||
| 821A 821B | DE 00 | MVI C, 0 | ||
| 821C | 7B | MOV A, E | ||
| 821D | 17 | RAL | ||
| 821E | 5A | MOV E, D | ||
| 821F | 79 | MOV A, C | ||
| 8220 | 17 | RAL | ||
| 8221 | 92 | SUB D | ||
| 8222 8223 8224 | D2 26 82 | JNC M5 | ||
| 8225 | 82 | ADD D | ||
| 8226 | 4F | M5: | MOV C, A | |
| 8227 | 3F | CMC | ||
| 8228 | 7E | MOV A, M | ||
| 8229 | 17 | RAL | ||
| 822A | 67 | MOV H, A | ||
| 822B | 2D | DCR L | ||
| 822C 822D 822E | C2 13 82 | JNZ M4 | ||
| 822F | RST | |||
Похожие работы
- 
							Микропроцессор КР580ИК
							КР580ИК80 представляет собой 8-разрядный процессор, в котором совмещены операционное и управляющее устройства. Опишем кратко узлы этого процессора. 
- 
							Лабораторные работы по программированию
							Лабораторная работа №1. Тема: Обучение работе на УМК. Цель: Научиться работать на УМК. Приборы: Учебный микропроцессорный комплекс (УМК). Ход работы. 
- 
							Построение циклических кодов
							§ 1 Введение Код ,в котором кодовая комбинация, полученная путем циклического сдвига разрешенной кодовой комбинации является также разрешенной кодовой комбинацией называется циклическим ( полиномиальным, кодом с циклическими избыточными проверками-ЦИП). 
- 
							Основы программирования и алгоритмизации 2
							Министерство образования и науки РоссийскойФедерации Кафедра информатики Курсовая работа Основы программирования и алгоритмизации г.Челябинск 
- 
							Выполнение арифметических действий и строковых операций
							АННОТАЦИЯ Сердце персонального компьютера - микропроцессор, выполняющий арифметические, логические и вспомогательные операции, необходимые для решения задач. Первые микропроцессоры появились в конце 1960-х годов, когда исследователи и разработчики создали интегральную схему (ИС), содержащую различные электронные компоненты на едином кристалле полупроводника. 
- 
							Разработка модуля проверки диапазона исходных данных и нахождения номера первого символа в строке
							Разработка модуля для вычисления значения функции, который впоследствии подключается к программе ввода исходных данных с контролем допусимого значения в таблицу. Проектирование модуля для работы со строками и для обработки массивов текстовой информации. 
- 
							Программирование арифметических задач на Ассемблере для микропроцессора К580
							Дон ГТУ Лабораторная работа № 3 АКГ-05 АУТПТЭК Программирование арифметических задач на Ассемблере для микропроцессора К580 Цель лабораторной работы - рассмотреть особенности выполнения простейших арифметических операций над целыми числами без знака на микропроцессорных установках МИКРОЛАБ КР580ИК80 и ЭЛЕКТРОНИКА-580, познакомиться с программированием в машинных кодах и мнемокодах, научиться пользоваться средствами управления и клавиатурой устройств. 
- 
							Типовые звенья в системах автоматического управления
							МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ имени академика С.П. Королева Кафедра летательных аппаратов 
- 
							Циклические вычислительные процессы
							Отчет по лабораторной работе №1. Тема: «Циклические вычислительные процессы». Дисциплина: «Языки программирования и методы трансляции». Цель: Ознакомление с методами работы организации циклических вычислений при использовании языка программирования С. 
- 
							Разработка программы на языке высокого уровня Паскаль
							Лабораторная работа «Разработка программы на языке высокого уровня Паскаль» Цель и задачи работы Освоить основные приемы алгоритмизации и составления программ на языке высокого уровня Паскаль.