Лабораторная работа: Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80
Название: Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80 Раздел: Рефераты по информатике Тип: лабораторная работа | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дон ГТУ Лабораторная работа № 4 Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80 Цель лабораторной работы - изучить программирование циклических и типовых программ на Ассемблере для микропроцессора КР580Ик80. 1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 1. Команды, необходимые для организации разветвлений и циклических структур в программах 1.1 Логические команды над аккумулятором и регистром (табл.1.1) Имеем в виду, что главным назначением команд этой группы является выработка признаков. Результат логической операции записывается в аккумулятор, заменяя первый операнд. Таблица 1.1 – Логические команды
Условные обозначения: 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 ^ 1→0 0 1 ^ 0→0 1 1 ^ 0→0 1 Команда CMP вычитает из содержимого аккумулятора второй операнд (не изменяя оба), формирует признаки по правилам команд вычитания. 1.2 Команды инкрементирования и декрементирования (табл.1.2) Примите к сведению, что команда INR (инкрементирование) увеличивает на единицу содержимое регистра или байта памяти, а команда DCR (декрементирование) уменьшает на единицу это содержимое. Эти команды не используют и не изменяют значение бита переноса, а остальные биты признаков вырабатывают по общим правилам. Таблица 1.2 – Инкрементирование и декрементирование
1.3 Команды изменения содержимого аккумулятора (табл. 1.3) Команды этой группы работают только с содержанием аккумулятора, поэтому адресной команды не имеют. Таблица 1.3 – Изменение содержания аккумулятора
Обратите внимание, что команда RLC устанавливает бит переноса в состояние, равное значению старшего разряда сумматора. Содержимое сумматора циклически сдвигается влево на одну позицию с переносом значения самого старшего разряда в самый младший разряд сумматора. 1.4 Команды изменения признака (флага) переноса Примите к сведению, что для изменения флага переноса используются две команды: STS – установка в один; CMC – установка в 0. 1.5 Команды условных переходов Команды условных переходов используют раннее выработанные значения признаков, сами их не изменяют. Имейте в виду, что если заданное в операции условие выполняется, адрес из второго и третьего блока команды заносится в счетчик команд, т.е. выполнение программы начинается с команд расположенных по этому адресу, в противном случае выполняется следующая по порядку команда Таблица 1.4 – Команды условных переходов
2 ЭКСПЕРИМЕНТАЛЬНЫЕ ИСЛЕДОВАНИЯ Задание: Найти Заносим в ячейку памяти, начиная с номера 8500, четыре числа I1=4, I2=8, I3=6, I4=3. Используя полученные числа, составим программу, наберем программу на ЭВМ, и получим результат. 8500 04 8501 08 8502 06 8503 03 Таблица 2.1 – Программа на ассемблере.
|