Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Алтайский государственный технический университет им. И.И. Ползунова»
Факультет (институт) Информационных технологий
Кафедра Вычислительные системы и информационная безопасность
Отчет защищен с оценкой___________
Преподаватель _______В.И. Грозов
(подпись)
“____”___________ 2012 г.
Отчет
по лабораторной работе №3
Команды сравнения и переходов. Циклы.
название лабораторной
по дисциплине Аппаратные средства и вычислительная техника
наименование дисциплины
ЛР 090900.06.000О
обозначение документа
Студент группы ИБ-11_______________________________А.С.Ефимов
и.о., фамилия
Преподаватель ______доцент кафедры ВСИБ___________В.И. Грозов
должность, ученое звание и.о., фамилия
БАРНАУЛ 2012
Цели и задачи работы: изучение команд сравнения регистров и непосредственного сравнения, группы команд переходов.
Теоретические сведения о работе и примеры программ приведены в литературе и конспекте лекций.
Задание к работе: Реализовать разветвляющийся вычислительный процесс. Самостоятельно решить задачи в соответствии с индивидуальным вариантом.
Методика выполнения работы:
Разработать алгоритм решения задачи по индивидуальному заданию.
Написать и отладить программу решения задачи.
Протестировать работу программы на различных исходных данных.
Организация программы с условием:
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
Написание программы, используя циклы: