Главная » Просмотр файлов » Отчёт по четырём лабораторным работам

Отчёт по четырём лабораторным работам (1084882), страница 2

Файл №1084882 Отчёт по четырём лабораторным работам (Отчёт по четырём лабораторным работам) 2 страницаОтчёт по четырём лабораторным работам (1084882) страница 22018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Задание 1. Составить программу вычисления выражения

где - число натурального ряда, начиная с “1”, – количество чисел.

Функциональная схема алгоритма программы.



Инициализация

Aрг:= 00;

Bрг:=03



Aрг:=Aрг+Bрг;

Bрг:=Bрг-1



Zфл=0




Zфл=1



Программа

Адрес

Код

Команда

Комментарий

0000

3E

MVI A,d8

Обнуляем аккумулятор

0001

00

0002

06

MVI B,d8

Инициализируем регистр B значением n = 3

0003

03

0004

80

ADD B

Прибавляем содержимое регистра B к содержимому аккумулятора

0005

05

DCR B

Декрементируем содержимое регистра B

0006

C2

JNZ adr

Если B <> 0 то переходим по адресу 0004 (в начало цикла)

0007

04

0008

00

0009

76

HLT

Конец

Задание 2. Составить программу вычисления выражения, приведенного в задании 1. Числа (произвольные значения) разместить в ячейках в ОЗУ.

Функциональная схема алгоритма программы.



Инициализация

Bрг:= 00; Aрг:= 00;

Hрг:=05; Dрг:=01;

Eрг:=18;



Aрг:=M [DE];

Aрг:=Aрг+Bрг;

Bрг:=Aрг;

Hрг:=Hрг-1;

Арг:=0;

Арг CMP Hрг




Cфл=0




Cфл=1


Eрг:=Eрг+1






Программа

Адрес

Код

Команда

Комментарий

0100

06

MVI B,d8

Инициализируем регистр B нулевым значением

0101

00

0102

78

MOV A,B

Инициализируем регистр A нулевым значением

0103

26

MVI H,d8

Инициализируем регистр H значением n = 5

0104

05

0105

16

MVI D,d8

Инициализируем регистр D значением 01

0106

01

01 – старшие разряды адреса операнда

0107

1E

MVI E,d8

Инициализируем регистр E значением 18

0108

18

18 – младшие разряды адреса операнда

0109

1A

LDAX D

Загружаем в регистр A содержимое ячейки указанной в регистрах D и E

010A

80

ADD B

Прибавляем к содержимому регистра A содержимое регистра B

010B

47

MOV B,A

Записываем сумму в регистр B

010C

25

DCR H

Уменьшаем на единицу счётчик оставшихся слагаемых

010D

3E

MVI A,d8

Записываем в регистр A нулевое значение

010E

00

010F

BC

CMP H

Сравниваем содержимое регистра H с нулём: если оно больше нуля то флаг C:=1

0110

D2

JNC adr

Если флаг C = 0 то идём по адресу 0117 (конец программы)

0111

17

0112

01

0113

1C

INR E

Увеличиваем на единицу значение младшего разряда операнда

0114

C3

JMP adr

Переход по адресу 0109 (начало цикла)

0115

01

0116

09

0117

76

HLT

Конец

Суммируемые числа размещаются в области памяти, начиная с адреса 0118, и занимают 1 байт каждое.

Задание 3. Составить программу для пересылки массива данных размерностью из одной области ОЗУ в другую.

Функциональная схема алгоритма программы.


Hрг:=03;

Aрг:=M [HL];

Hрг:=04;

M [HL]= Aрг;

Lрг:= Lрг+1;

Aрг= Lрг;

Aрг cmp Dрг







Zфл=0

Zфл=1

Инициализация

Dрг:= 03;

Lрг:=00;


Программа

Адрес

Код

Команда

Комментарий

0200

16

MVI D,d8

Инициализируем регистр D значением n = 3

0201

03

0202

2E

MVI L,d8

Инициализируем регистр L значением 00

0203

00

0204

26

MVI H,d8

Инициализируем регистр H значением 03

0205

03

0206

7E

MOV A,M

Считываем в аккумулятор элемент массива из памяти

0207

26

MVI H,d8

Записываем в регистр H значение 04, изменяя старший байт адреса ячейки ОЗУ

0208

04

0209

77

MOV M,A

Записываем содержимое аккумулятора в память

020A

2C

INR L

Увеличиваем содержимое регистра L на 1 (младший байт адреса ОЗУ)

020B

7D

MOV A,L

Передаем значение регистра L (Регистр L считаем счетчиком элементов массива) в регистр A

020C

BA

CMP D

Сравниваем L и D ( если значение L < значения D то Z=0 )

020D

C2

JNZ adr

Если Z=0, идём по адресу 0204 (продолжаем цикл)

020E

04

020F

02

0210

76

HLT

Конец

Пересылаемые элементы находятся в ячейках памяти, начиная с 0300, и пересылаются в ячейки, начиная с адреса 0400, причём каждый элемент занимает 1 байт.

Задание 4. Составить программу для пересылки массива данных размерностью из одной области ОЗУ в другую. После пересылки массив должен расположиться в обратном порядке.

Функциональная схема алгоритма программы.

Lрг:= Cрг;

Eрг:=M [HL];

Hрг:=08;

Aрг:= Dрг;

Aрг:= Aрг-1;

Aрг:= Aрг- Cрг;

Lрг:= Aрг;

M [HL]:= Eрг;

Cрг:=Cрг+1;

Aрг cpi 00

Zфл=0

Zфл=1

Инициализация

Dрг:= 05; Aрг:=00;

Cрг:= Aрг; Hрг:=07;





Программа

Адрес

Код

Команда

Комментарий

0600

16

MVI D, d8

Инициализируем регистр D значением n=10

0601

05

0602

AF

XRA A

Инициализируем регистр A значением 0

0603

4F

MOV C,A

Инициализируем регистр C значением 0

0604

26

MVI H, d8

Передаем регистру старшего байта адреса значение старшего байта адреса ОЗУ с массивом

0605

07

0606

69

MOV L,C

Регистр C – счетчик передаваемых элементов, считающий с 0, поэтому его значение можно использовать в качестве младшего байта адреса памяти. Передаем значение регистра C в регистр L

0607

5E

MOV E,M

Записываем пересылаемый элемент в регистр E

0608

26

MVI H, d8

Меняем значение старшего байта адреса ОЗУ в регистре H

0609

08

060A

7A

MOV A,D

Вычисляем младший адрес памяти другой области ОЗУ.

060B

3D

DCR A

Уменьшаем значение регистра A на 1 (так как счет адресов идет с 0)

060C

91

SUB C

Вычитаем из значения регистра A значение регистра C

060D

6F

MOV L,A

Записываем получившийся результат в регистр L

060E

73

MOV M,E

Передаем ячейке памяти элемент массива из регистра E

060F

0C

INR C

Увеличиваем значение регистра C на 1

0610

FE

CPI d8

Сравниваем значение регистра A с 00. Если значение регистра A = 00, значит элемент был записан в новой области в адрес с значением младшего байта адреса, равным 00, что согласно алгоритму характерно последнему элементу

0611

00

0612

C2

JNZ adr

В случае, если пересылка элементов не закончена, продолжаем цикл, переходя по адресу 0604

0613

04

0614

06

0615

76

HLT

Конец

Пересылаемые элементы находятся в ячейках памяти по адресам, начиная с 0700, и пересылаются по адресам, начиная с 0800, причём каждый элемент занимает 1 байт.

Характеристики

Тип файла
Документ
Размер
309 Kb
Тип материала
Высшее учебное заведение

Список файлов лабораторной работы

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