48261 (Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80)

2016-07-28СтудИзба

Описание файла

Документ из архива "Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48261"

Текст из документа "48261"

Дон ГТУ

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

1 ^ 0→0 1 0→1 1 0→1

1 ^ 0→0 1 1→0 1 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.

Используя полученные числа, составим программу, наберем программу на ЭВМ, и получим результат.

  1. 04

  2. 08

  3. 06

  4. 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

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее