Главная страница
Медицина
Экономика
Финансы
Биология
Сельское хозяйство
Ветеринария
Юриспруденция
Право
Языки
Языкознание
Философия
Логика
Этика
Религия
Социология
Политология
История
Информатика
Физика
Вычислительная техника
Математика
Искусство
Культура
Энергетика
Промышленность
Химия
Связь
Электротехника
Автоматика
Геология
Экология
Строительство
Механика
Начальные классы
Доп
образование
Воспитательная работа
Русский язык и литература
Классному руководителю
Другое
Дошкольное образование
Казахский язык и лит
Физкультура
Школьному психологу
Технология
География
Директору, завучу
Иностранные языки
Астрономия
Музыка
ОБЖ
Социальному педагогу
Логопедия
Обществознание

ОМТ_кр. Отчет о контрольной работе По дисциплине Основы микропроцессорной техники студент группы энэбо141


Скачать 0.61 Mb.
НазваниеОтчет о контрольной работе По дисциплине Основы микропроцессорной техники студент группы энэбо141
Дата17.01.2018
Размер0.61 Mb.
Формат файлаdocx
Имя файлаОМТ_кр.docx.docx
ТипОтчет
#34468

,Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное

учреждение высшего образования

«Северо-Кавказский федеральный университет»
Отчет о контрольной работе

По дисциплине: «Основы микропроцессорной техники»

Выполнил: студент

группы ЭНЭ-б-о-14-1

Клюжин С.В.

Проверил: старший преподаватель кафедры ФЭиЭ

Лапин А. А.

Ставрополь, 2017

Отчет о контрольной работе

Цель: изучение основ программирования на языке Ассемблер.

Теоретическая часть.

Язык ассеемблера (англ. assembly language) – машинно- ориентированный язык низкого уровня с командами, обычно соответствующими командам машины, который может обеспечить дополнительные возможности вроде макрокоманд; автокод, расширенный конструкциями языков программирования высокого уровня, такими как выражения, макрокоманды, средства обеспечения модульности программ.

Автокод – язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка.

Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Язык ассемблера – это символическое представление машинного языка. Ассемблер позволяет писать короткие и быстрые программы. Однако этот процесс чрезвычайно трудоёмкий. Для написания максимально эффективной программы необходимо хорошее знание особенностей команд языка ассемблера, внимание и аккуратность. Поэтому реально на языке ассемблера пишутся в основном программы, которые должны обеспечить эффективную работу с аппаратной частью. Также на языке ассемблера пишутся критичные по времени выполнения или расходованию памяти участки программы. Впоследствии они оформляются в виде подпрограмм и совмещаются с кодом на языке высокого уровня.
Отчет о контрольной работе

  1. Обработка массивов данных.

Разработать алгоритм и программу на языке Ассемблер для микропроцессора Кр580ВМ80.

Вычислить элементы массива Z по элементам массивов X и Y по формуле: zi=xi+yi. Массив Z должен быть записан после массивов X и Y. В программе необходимо учесть, что сумма может иметь размер более 1 байта.

Программа:

Адрес

Машинный код

Метка

Мнемокод

Комментарий

0800

01 0A0A




LXI B, 0A0A




0803

11 0000




LXI D, 0000




0806

21 0A00

MAIN

LXI H, 0A00




0809

7D




MOV A, L




080A

83




ADD E




080B

6F




MOV L, A




080C

7E




MOV A, M




080D

57




MOV D, A




080E

7D




MOV A, L




080F

81




ADD C




0810

6F




MOV L, A




0811

7E




MOV A, M




0812

82




ADD D




0813

D4 0829




CNC ZEROST




0816

DC 0830




CC FST




0819

05




DCR B




081A

C2 0806




JNZ 0806




081D

00




NOP




081E

76




HLT




081F

57

SSS

MOV D, A




0820

7D




MOV A, L




0821

81




ADD C




0822

83




ADD E




0823

6F




MOV L, A




0824

7A




MOV A, D




0825

77




MOV M, A




0826

2C




INR L




0827

1C




INR E




0828

C9




RET




0829

CD 081F

ZEROST

CALL SSS




082С

AF




XRA A




082D

77




MOV M, A




082E

2D




DCR L




082F

C9




RET




0830

CD 081F

FST

CALL SSS




0833

3E 01




MVI A, 01




0835

77




MOV M, A




0836

2D




DCR L




0837

C9




RET




0838

77




MOV M, A




0839

2D




DCR L




083A

C9




RET




Предназначения регистров:

H, L – адреса массивов X, Y, Z;

B - счетчик количества элементов массива;

C – сдвиг массива относительно массива;

E – количество пройденных элементов для определения нужного положения двухбайтного результата;

D – временное хранение результата суммы.

X

01

02

03

04

05

06

AA

FF

BB

D6

Y

06

08

02

01

00

AA

B0

D0

0D

FF

Zст.

00

00

00

00

00

00

01

01

00

01

Zмл.

07

0A

05

05

05

B0

5A

CF

C8

D5



2.2 Реализация типовых функций управления.

Разработать алгоритм и программу на языке Ассемблер для микропроцессора КР580ВМ80, которая будет выполнять следующие действия:

  • Сбор данных с порта ввода

  • Размещение данных в области памяти, доступной пользователю

  • Вывод данных в порт вывода

  • Ожидание дальнейших команд управления

Кнопка «1», код

Кнопка «1», код

Кнопка «1», код

Кнопка «1», код

«4», EF0E

«3», F70B

«2», F70D

«1», F70E

Программа:


Адрес

Машинный код

Метка

Мнемокод

Комментарии

0800

1E 40

MAIN

MVI E, 40




0802

06 00

KBD

MVI B, 00




0804

0E FE




MVI C, FE




0806

16 08




MVI D, 08




0808

26 09

FROW

MVI H, 09




080A

79

WAIT

MOV A, C




080B

D3 07




OUT 07




080D

DB 06




IN 06




080F

E6 0F




ANI 0F




0811

FE 0F




CPI 0F




0813

C2 0828




JNZ 0828




0816

25




DCR H




0817

C2 080A




JNZ 080A




081A

79




MOV A, C




081B

07




RLC




081C

4F




MOV C, A




081D

78




MOV A, B




081E

C6 04




ADI 04




0820

47




MOV B, A




0821

15




DCR D




0822

C2 0808




JNZ 0808




0825

C3 0802




JMP 0802




0828

6F

FCOL

MOV L, A




0829

C5




PUSH B




082A

1F

CCOL

RAR




082B

D2 0832




JNC 0832




082E

04




INR B




082F

C3 082A




JMP 082A




0832

61

ECOL

MOV H, C




0833

3A 0B00




LDA 0B00




0836

B8




CMP B




0837

CA 0858




JZ 0858




083A

3A 0B01




LDA 0B01




083D

B8




CMP B




083E

CA 086D




JZ 086D




0841

3A 0B03




LDA 0B02




0844

B8




CMP B




0845

CA 088C




JZ 088C




0848

3A 0B03




LDA 0B03




084B

B8




CMP B




084C

CA 0891




JZ 0891




084F

C3 0800




JMP 0800




0852

00

DELAYE

NOP




0853

1D




DRC E




0854

C2 0852




JNZ 0852




0857

C9




RET




0858

06 06

BUT1

MVI B, 06




085A

21 0B04




LXI H, 0B04




085D

1E 40

BUTT1

MVI E, 40




085F

DB 05




IN 05




0861

77




MOV M, A




0862

CD 0852




CALL 0852




0865

2C




INR L




0866

05




DCR B




0867

C2 085D




JNZ 085D




086A

C3 0800




JMP 0800




086D

21 0B04

BUT2

LXI H, 0B04




0870

01 0605




LXI B, 0605




0873

1E 15

BUTT2

MVI E, 15




0875

7E




MOV A, M




0876

57




MOV D, A




0877

AF




XRA A




0878

D3 06




OUT 06




087A

79




MOV A, C




087B

D3 07




OUT 07




087D

7A




MOV A, D




087E

D3 06




OUT 06




0880

CD 0852




CALL 0852




0883

0D




DCR C




0884

2C




INR L




0885

05




DCR B




0886

C2 0873




JNZ 0873




0889

C3 0800

BUT3

JMP 0800




088D

00




NOP




088E

C3 0858

BUT4

JMP 0858







С

Е

Р

Г

Е

У

39

79

73

31

79



00111001

01111001

01110011

00110001

01111001

01101110












написать администратору сайта