Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.docx
Скачиваний:
5
Добавлен:
16.09.2019
Размер:
118.24 Кб
Скачать

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

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Алтайский государственный технический университет им. И.И. Ползунова»

Факультет (институт) Информационных технологий

Кафедра Вычислительные системы и информационная безопасность

Отчет защищен с оценкой___________

Преподаватель _______В.И. Грозов

(подпись)

“____”___________ 2012 г.

Отчет

по лабораторной работе №3

Команды сравнения и переходов. Циклы.

название лабораторной

по дисциплине Аппаратные средства и вычислительная техника

наименование дисциплины

ЛР 090900.06.000О

обозначение документа

Студент группы ИБ-11_______________________________А.С.Ефимов

и.о., фамилия

Преподаватель ______доцент кафедры ВСИБ___________В.И. Грозов

должность, ученое звание и.о., фамилия

БАРНАУЛ 2012

Цели и задачи работы: изучение команд сравнения регистров и непосредственного сравнения, группы команд переходов.

Теоретические сведения о работе и примеры программ приведены в литературе и конспекте лекций.

Задание к работе: Реализовать разветвляющийся вычислительный процесс. Самостоятельно решить задачи в соответствии с индивидуальным вариантом.

Методика выполнения работы:

  1. Разработать алгоритм решения задачи по индивидуальному заданию.

  1. Написать и отладить программу решения задачи.

  2. Протестировать работу программы на различных исходных данных.

Организация программы с условием:

1 00 40 in 0 ; Ввод A

2 01 18 27 stor a,A ; запомнить А по адресу А

3 03 41 in 1 ; Ввод B

4 04 18 28 stor a,B ; запомнить B по адресу B

5 06 42 in 2 ; Ввод C

6 07 18 29 stor a,C ; запомнить C по адресу C

8 09 10 28 load a,B ; загрузить B в rA

9 0b b0 00 cmi a,0 ; сравнить (rA) c 0 (установить регистр флагов)

10 0d ba 23 jz lab1 ; переход на метку lab1:, если установлен признак Z

12 0f 11 27 load b,A ; агрузить A в rB

13 11 88 29 mum a,C ; умножить rB на С. рез-тат в rB

14 13 19 2a stor b,AC ; запомнить B*C по адресу AC

16 15 11 27 load b,A ; загрузить A в rB

17 17 98 28 dvm a,B ; разделить rB на B. рез-тат в rB

18 19 19 2b stor b,AB; запомнить A*B по адресу AB

20 1b 11 2a load b,AC; загрузить AC в rB

21 1d 90 01 mui a,1 ; расширить знак(преобразовать слово в двойное слово)

22 1f 59 2b adm b,AB;сложить

23 21 09 mov a,b ; копирование значения регистра rB в регистр rA

24 22 4d out 5 ; вывести в порт 5

26 23 10 2a lab1: load a,AC ; загрузить содержимое AC в rA

27 25 4c out 4 ; вывести в порт 4

28 26 f8 stop ; стоп

29 27 00 A: .ds 1 ; ячейка памяти для A

30 28 00 B: .ds 1 ;ячейка памяти для B

31 29 00 C: .ds 1 ; ячейка памяти для C

32 2a 00 AC: .ds 1 ; ячейка памяти для AC

33 2b 00 AB: .ds 1 ; ячейка памяти для AB

Написание программы, используя циклы: